Advertisement
Guest User

snake game

a guest
Nov 14th, 2015
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.11 KB | None | 0 0
  1. import pygame
  2. import random
  3.  
  4. pygame.init()
  5.  
  6. color = {
  7.     'white': (255, 255, 255),
  8.     'red': (255, 0, 0),
  9.     'green': (0, 255, 0),
  10.     'blue': (0, 0, 255),
  11.     'black': (0, 0, 0)
  12. }
  13.  
  14. clock = pygame.time.Clock()
  15.  
  16. screen_width = 600
  17. screen_height = 400
  18.  
  19. gameDisplay = pygame.display.set_mode((screen_width, screen_height))
  20.  
  21. block_size = 20
  22.  
  23. font = pygame.font.SysFont(None, 25)
  24.  
  25. def message_to_screen(msg, color):
  26.     screen_text = font.render(msg, True, color)
  27.     font_width,font_height = font.size(msg)
  28.     gameDisplay.blit(screen_text, [(screen_width/2) - (font_width/2), (screen_height/2)-(font_height/2)])
  29.  
  30.  
  31. def gameLoop():
  32.     gameExit = False
  33.     gameOver = False
  34.     gamePause = False
  35.    
  36.     lead_x = screen_width/2
  37.     lead_y = screen_height/2
  38.  
  39.     lead_x_change = 0
  40.     lead_y_change = 0
  41.  
  42.     randAppleX = random.randrange(block_size, screen_width-block_size, block_size)
  43.     randAppleY = random.randrange(block_size, screen_height-block_size, block_size)
  44.    
  45.     resume = False
  46.    
  47.     while not gameExit:
  48.  
  49.        while gamePause == True:
  50.            if resume == True:
  51.                gamePause = False
  52.                resume = False
  53.                print("sup")
  54.                break        
  55.            message_to_screen("Your game has been paused, press p to resume", color['blue'])
  56.            pygame.display.update()
  57.            for event in pygame.event.get():
  58.              if event.type == pygame.KEYDOWN:
  59.                 if event.key == pygame.K_p:
  60.                    resume = True
  61.              if event.type == pygame.QUIT:
  62.                  gameExit = True
  63.                  resume = True
  64.                  
  65.        while gameOver == True:
  66.  
  67.             gameDisplay.fill(color['red'])
  68.             message_to_screen("You have lost, press C to play again or Q to quit", color['blue'])
  69.             pygame.display.update()
  70.  
  71.             for event in pygame.event.get():
  72.                 if event.type == pygame.KEYDOWN:
  73.                     if event.key == pygame.K_q:
  74.                         gameExit = True
  75.                         gameOver = False
  76.                     elif event.key == pygame.K_c:
  77.                         gameLoop()
  78.                 if event.type == pygame.QUIT:
  79.                     gameExit = True
  80.  
  81.                    
  82.        if gameExit == True:
  83.            break
  84.        
  85.        for event in pygame.event.get():
  86.  
  87.             if event.type == pygame.QUIT:
  88.                 gameExit = True
  89.  
  90.             if event.type == pygame.KEYDOWN:
  91.  
  92.                 if event.key == pygame.K_RIGHT or event.key == pygame.K_d:
  93.                     lead_y_change = 0
  94.                     lead_x_change = block_size
  95.  
  96.                 elif event.key == pygame.K_LEFT or event.key == pygame.K_a:
  97.                     lead_y_change = 0
  98.                     lead_x_change = -block_size
  99.  
  100.                 elif event.key == pygame.K_UP or event.key == pygame.K_w:
  101.                     lead_x_change = 0
  102.                     lead_y_change = -block_size
  103.  
  104.                 elif event.key == pygame.K_DOWN or event.key == pygame.K_s:
  105.                     lead_x_change = 0
  106.                     lead_y_change = block_size
  107.                    
  108.                 elif event.key == pygame.K_p:
  109.                     gamePause = True
  110.  
  111.        lead_x += lead_x_change
  112.        lead_y += lead_y_change
  113.        
  114.        if lead_x + block_size >= screen_width or lead_x <= 0 or lead_y + block_size >= screen_height or lead_y <= 0:
  115.            
  116.           gameOver = True
  117.          
  118.        if lead_x == randAppleX and lead_y == randAppleY:
  119.          
  120.           randAppleX = random.randrange(block_size, screen_width-block_size, block_size)
  121.           randAppleY = random.randrange(block_size, screen_height-block_size, block_size)
  122.                
  123.        pygame.display.set_caption('gameDev')
  124.        gameDisplay.fill(color['white'])
  125.        gameDisplay.fill(color['green'], rect=[randAppleX, randAppleY, block_size, block_size])
  126.        gameDisplay.fill(color['red'], rect=[lead_x, lead_y, block_size, block_size])
  127.        pygame.display.update()
  128.        
  129.        clock.tick(6)
  130.  
  131. gameLoop()
  132. pygame.quit()
  133. quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement