Deepak B
Deepak B

Reputation: 2335

Board Game using SDL

I am building a board game in SDL and here is the problem I am currently facing.

I have a pawn on square 1 and I roll the dice. Based on the value I get on the dice the pawn moves to another square. I am bale to move the pawn after i read the SDL tutorials online. But the problem I am facing is that after moving the pawn to a new location the old pawn still stays at the old location. The tutorials I found on the internet moves a dot but also refreshes the background to cover up the old dot. But I cant do that as my game board is intricate and there are pawns from other players sitting there.

Is there a way in SDL that I could really move a pawn instead of having to create a new pawn at the new location and covering up the old pawn?

Upvotes: 1

Views: 758

Answers (3)

01d55
01d55

Reputation: 1912

It sounds like your render code is mixed in with your game logic. You ought to separate rendering so that you can redraw the complete game scene with a single function call, which you can then use whenever a visible change is made to the game state.

Upvotes: 1

StilesCrisis
StilesCrisis

Reputation: 16290

No, your code will need to be able to redraw that board position with the pawn missing. There isn't any way for the computer to automatically reconstruct what the board should look like without the pawn.

Upvotes: 1

Kerrek SB
Kerrek SB

Reputation: 477338

The fundamental concept of sprites: Before you insert the sprite, you save a copy of the original screen content. When you need to remove the sprite, you just paste the stored old content back in.

You will have to process all your objects in the correct order (LIFO) for this to work. Since you'll usually be double-buffered, this happens on the cold buffer, so this isn't an issue.

Upvotes: 3

Related Questions