8.13: Pausing the Game
- Page ID
if (event.key == K_p): # Pausing the game DISPLAYSURF.fill(BGCOLOR) pygame.mixer.music.stop() showTextScreen('Paused') # pause until a key press pygame.mixer.music.play(-1, 0.0) lastFallTime = time.time() lastMoveDownTime = time.time() lastMoveSidewaysTime = time.time()
If the player has pressed the P key, then the game should pause. We need to hide the board from the player (otherwise the player could cheat by pausing the game and taking time to decide where to move the piece).
The code blanks out the display Surface with a call to
DISPLAYSURF.fill(BGCOLOR) and stops the music. The
showTextScreen() function is called to display the "Paused" text and wait for the player to press a key to continue.
Once the player has pressed a key,
showTextScreen() will return. Line 6  will restart the background music. Also, since a large amount of time could have passed since the player paused the game, the
lastMoveSidewaysTime variables should all be reset to the current time (which is done on lines 7  to 9 ).