21. Time for a coffe break

Ok, we programmed almost everything that I wanted to see in our gameplay. But this tutorial is far from over. You remember the game screenshot from the first chapter? Our game doesn't look anything like that... In the next few chapters we'll add some practical functions to our game, like 'Pause' button, 'High Score' list, and then we'll move on to the decoration!

Almos every game has a 'Pause' button. It's almost normal that you can't play any game without interuption. Maybe your wife sends you to the store to fetch some ingredients for lunch, or your two-year-old starts pulling the mouse out of your hand, or something else comes in your way... In every case, you don't want your game to go on... So, to satisfy our players, we'll add a pause button. Well, not actualy add - we'll just use our existing 'New Game' button, and programatically make it a multifunctional 'gadget'.
Ok, now, we'll update our code to give our game/pause button the funcionality that it needs. Basically, we'll just stop our timer when the user clicks on the button, and start it again when the user clicks 'Continue'. We won't add a new button for the 'Continue' command. We'll use our current 'Pause' button to do this...

Here's the code:
(overwrite your existing 'GameButton_Click' code!)

if (butGame == "New Game")

  //NEW GAME
  picGameField.Show();
  picGameField.Refresh();
  NewGame();
  butGame.Text = "Pause";

else if (butGame.Text == "Pause")

  //GAME PAUSED
  Game.Stop();
  picGameField.Visible = false;
  lblDisplay.Text = "Game Paused";
  lblDisplay.Visible = true;
  butGame.Text = "Continue";

else

  //CONTINUE GAME
  picGameField.Show();
  butGame.Text =
"Pause";
  picGameField.Visible = true;
  Game.Start();
  butNG.Visible = false;


You probably noticed that we hide the game field when the player clickes 'Pause'. That's because we don't want our players to cheat, and have extra time to plan their moves... Wicked, right? ;)

Now, add another button to the game, and apply it's properties:

Button

  • (name): butNG
  • Location: 276; 6
  • Size: 126; 53
  • Text: New Game

This one is going to offer our player the possibility to start a new game. Let's add some code to it. Double click on the new button, and put this code there:

//NEW GAME
picGameField.Show();
picGameField.Refresh();
NewGame();
butGame.Text = "Pause";
butNG.Visible = false;

 

Ok, let's go on - in the next chapter we'll add a High Scores list to our game. Just so our players can brag about their achievements, and to give them a little bit of motivation for playing the game (if they don't hold the #1 spot on the list!). :)

more:here