Restarting the game
We already determine the size of the arena and the number of zombies by the value of the wave
variable. We must also reset the ammo, gun, wave
, and score
to zero at the start of each new game. Find the following code in the event handling section of the game loop and add the highlighted code:
// Start a new game while in GAME_OVER state
else if (event.key.code == Keyboard::Return &&
state == State::GAME_OVER)
{
state = State::LEVELING_UP;
wave = 0;
score = 0;
// Prepare the gun and ammo for next game
currentBullet = 0;
bulletsSpare = 24;
bulletsInClip = 6;
clipSize = 6;
fireRate = 1;
// Reset the player's stats
player.resetPlayerStats();
}
Now we can play the game, the player can get ever more powerful and the zombies will get ever more numerous within an arena of increasing size - until he dies then it all starts again.