title: Why is the "Game Over" text not displayed?
body: <p>I have this code, and when I click <kbd>ESC</kbd>, I don't see "Game Over". The program waits for two seconds and closes without displaying text.
  Pygame 1.9.6</p>
  
  <p>What am I doing wrong?</p>
  
  <pre class="lang-py prettyprint-override"><code>run = True
  while run:
      for event in pygame.event.get():
          if event.type == pygame.QUIT:
              run = False
              pygame.quit()
          if event.type == pygame.KEYDOWN:
              if event.key == pygame.K_LEFT:
                  lead_x_change = -block_size
                  lead_y_change = 0
              elif event.key == pygame.K_RIGHT:
                  lead_x_change = block_size
                  lead_y_change = 0
              elif event.key == pygame.K_UP:
                  lead_x_change = 0
                  lead_y_change = -block_size
              elif event.key == pygame.K_DOWN:
                  lead_x_change = 0
                  lead_y_change = block_size
              elif event.key == pygame.K_ESCAPE:
                  run = False
  
      game_display.fill(white)
      lead_x += lead_x_change
      lead_y += lead_y_change
      pygame.draw.rect(game_display, black, [lead_x, lead_y, width, height])
      pygame.display.update()
  
      clock.tick()
  
  draw_text_middle("Game Over", 40, (0, 0, 0, 255), game_display)
  pygame.display.update()
  pygame.time.delay(2000)
  pygame.quit()
  </code></pre>