Advertisement
furas

Snake - modification

Nov 14th, 2015
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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() # removed
  78.             gameExit = False
  79.             gameOver = False
  80.             gamePause = False
  81.    
  82.             lead_x = screen_width/2
  83.             lead_y = screen_height/2
  84.  
  85.             lead_x_change = 0
  86.             lead_y_change = 0
  87.  
  88.             randAppleX = random.randrange(block_size, screen_width-block_size, block_size)
  89.             randAppleY = random.randrange(block_size, screen_height-block_size, block_size)
  90.    
  91.             resume = False
  92.    
  93.                 if event.type == pygame.QUIT:
  94.                     gameExit = True
  95.  
  96.                    
  97.        if gameExit == True:
  98.            break
  99.        
  100.        for event in pygame.event.get():
  101.  
  102.             if event.type == pygame.QUIT:
  103.                 gameExit = True
  104.  
  105.             if event.type == pygame.KEYDOWN:
  106.  
  107.                 if event.key == pygame.K_RIGHT or event.key == pygame.K_d:
  108.                     lead_y_change = 0
  109.                     lead_x_change = block_size
  110.  
  111.                 elif event.key == pygame.K_LEFT or event.key == pygame.K_a:
  112.                     lead_y_change = 0
  113.                     lead_x_change = -block_size
  114.  
  115.                 elif event.key == pygame.K_UP or event.key == pygame.K_w:
  116.                     lead_x_change = 0
  117.                     lead_y_change = -block_size
  118.  
  119.                 elif event.key == pygame.K_DOWN or event.key == pygame.K_s:
  120.                     lead_x_change = 0
  121.                     lead_y_change = block_size
  122.                    
  123.                 elif event.key == pygame.K_p:
  124.                     gamePause = True
  125.  
  126.        lead_x += lead_x_change
  127.        lead_y += lead_y_change
  128.        
  129.        if lead_x + block_size >= screen_width or lead_x <= 0 or lead_y + block_size >= screen_height or lead_y <= 0:
  130.            
  131.           gameOver = True
  132.          
  133.        if lead_x == randAppleX and lead_y == randAppleY:
  134.          
  135.           randAppleX = random.randrange(block_size, screen_width-block_size, block_size)
  136.           randAppleY = random.randrange(block_size, screen_height-block_size, block_size)
  137.                
  138.        pygame.display.set_caption('gameDev')
  139.        gameDisplay.fill(color['white'])
  140.        gameDisplay.fill(color['green'], rect=[randAppleX, randAppleY, block_size, block_size])
  141.        gameDisplay.fill(color['red'], rect=[lead_x, lead_y, block_size, block_size])
  142.        pygame.display.update()
  143.        
  144.        clock.tick(6)
  145.  
  146. gameLoop()
  147. pygame.quit()
  148. quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement