Restarting the game
We have already determined the size of the arena and the number of zombies by the value of the wave
variable. We must also reset the ammo and gun-related variables, and set 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, as shown here:
// 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, players can engage in the game, becoming increasingly powerful as the number of zombies grows within an ever-expanding arena. The game continues until the player dies, after which it starts over again...