I would decide how you want to do it now. I have heard the "don't optimize now" line, but that is not true. Unless you wish to totally rewrite your code later on, you should decide which way to go with now.
For the type of game you have, I don't think you have to worry about optimization. You may wish to go with bitmaps which you load if you want to change the graphics later on and have something different.
You could also draw them ahead of time just once, then just blit that premade bitmap.
If this is how you want your game to look in the end, than it looks like drawing it each time will be fine. If it is turn based especially. If it gets too complicated you may wish to change that.
You could also only update the parts of the screen that change.
Take some time and maybe write up a design document on how you want the game to end up like. Plan it all out. This actually saves you A LOT of headaches later on believe it or not. You will know where you will need speed and what to be concerned with.
For my own games I tend to plan it out and then t he first thing I program is a level editor, this way I know what will be in the levels and can actually have levels created to test the main game with. I have also given out my level editors with my game, which is a bonus. Depends on your game though. But waiting until you are done to optimize it and finding out you done something wrong and have to recode large sections is not fun. And this is not just my opinion, I have seen professionals online who advise against waiting until you're done to optimize it.