title: How to display score on Pygame?
body: <p>I'm a new programmer working on a memory game for my computer science summative.The game goes like this: the computer displays random boxes at random positions and then the user has to guess where the boxes are and click on it. </p>
  
  <p>I'm basically done, except right now I'm trying to create like 5 different levels that range in level of difficulty. eg level 1 will display like 2 boxes and level 2 will display like 5, etc. And then if the user gets through all levels they can play again. I know its a lot but I really want to get an A on this. </p>
  
  <p>But right now I'm stuck because it doesnt really work until I try to close the window, and even then it only goes halfway. I'm thinking its how I defined the functions but I'm not to certain. 
  Any help would be appreciated. </p>
  
  <pre><code>import pygame , sys
  import random
  import time
  
  size=[500,500]
  pygame.init()
  screen=pygame.display.set_mode(size)
  
  
  # Colours
  LIME = (0,255,0) 
  RED = (255, 0, 0)
  BLACK = (0,0,0)
  PINK = (255,102,178)
  SALMON = (255,192,203)
  WHITE = (255,255,255)
  LIGHT_PINK = (255, 181, 197)
  SKY_BLUE = (176, 226, 255)
  screen.fill(BLACK)
  
  # Width and Height of game box
  width=50
  height=50
  
  
  
  # Margin between each cell
  margin = 5
  
  rows = 20
  columns = 20
  
  
  # Set title of screen
  pygame.display.set_caption("Spatial Recall")
  
  # Used to manage how fast the screen updates
  clock=pygame.time.Clock()
  
  
  coord=[]
  
  # Create a 2 dimensional array. A two dimesional
  # array is simply a list of lists.
  def resetGrid():
      grid = []
      for row in range(rows):
          # Add an empty array that will hold each cell
          # in this row
          grid.append([])
          for column in range(columns):
              grid[row].append(0) # Append a cell  
      return grid
  
  def displayAllPink(pygame):
      for row in range(rows):
          for column in range(columns):
              color = LIGHT_PINK
              pygame.draw.rect(screen,color,[(margin+width)*column + margin,(margin+height)*row+margin,width,height])
              pygame.display.flip()      
  
  def displayOtherColor(pygame,grid):
      coord = []
      for i in range(random.randint(2,5)):
          x = random.randint(2, rows-1)
          y = random.randint(2, columns-1)                
          color = LIME    
          pygame.draw.rect(screen,color,[(margin+width)*y + margin,(margin+height)*x+margin,width,height])
          coord.append((x,y))  
          grid[x][y] = 1
          pygame.display.flip() 
      time.sleep(1)
      return coord
  
  def runGame(gameCount,coord,pygame,grid):
      pygame.event.clear()
      pygame.display.set_caption("Spatial Recall: Level "+ str(gameCount))
      pygame.time.set_timer(pygame.USEREVENT,1000)
      time = 0
      #clock.tick( 
              # -------- Main Program Loop -----------
      #Loop until the user clicks the close button.
      done = False
      while done==False:    
          event = pygame.event.wait() # User did something
          if event.type == pygame.QUIT: # If user clicked close
              done=True # Flag that we are done so we exit this loop
              pygame.event.clear()
              print "Game ",gameCount, "ends"
          elif event.type == pygame.USEREVENT:
              time = time + 1
              pygame.display.set_caption("Spatial Recall: Level "+ str(gameCount) + " Time: "+ str(time))
              if time == 100:
                  done = True
                  pygame.display.set_caption("Time out, moving to next level")
                  pygame.event.clear()
                  return False
          elif event.type == pygame.MOUSEBUTTONDOWN:
              # User clicks the mouse. Get the position
              pos = pygame.mouse.get_pos()
              # Change the x/y screen coordinates to grid coordinates
              column=pos[0] // (width+margin)
              row=pos[1] // (height+margin)
              if (row,column) in coord:
                  print coord
                  coord.remove((row,column))
                  print coord
                  color = LIME
                  pygame.draw.rect(screen,color,[(margin+width)*column + margin,(margin+height)*row+margin,width,height])
                  if coord == []:
                      done=True 
                      pygame.display.set_caption("Time out, moving to next level")
                      pygame.event.clear()
                      return True
              else:
                  color = RED
                  pygame.draw.rect(screen,color,[(margin+width)*column + margin,(margin+height)*row+margin,width,height])
              pygame.display.flip() 
  
  
  def startTheGame(gameCount):
      grid = resetGrid()
      displayAllPink(pygame)
      coord = displayOtherColor(pygame,grid)
      displayAllPink(pygame)
      runGame(gameCount,coord,pygame,grid)
  
  for i in range(2):
      startTheGame(i+1)
  pygame.quit ()
  </code></pre>