Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- > write me a simple snake game.
- Sure, here is a simple version of the snake game in Python using the Pygame library. Make sure you have Pygame installed (`pip install pygame`) before running the script.
- ```python
- import pygame
- import time
- import random
- pygame.init()
- # Set up display
- width, height = 800, 600
- screen = pygame.display.set_mode((width, height))
- pygame.display.set_caption('Snake Game')
- # Define colors
- white = (255, 255, 255)
- yellow = (255, 255, 102)
- black = (0, 0, 0)
- red = (255, 0, 0)
- green = (0, 255, 0)
- blue = (0, 0, 255)
- # Define snake block size
- snake_block = 10
- # Define speed of the snake
- snake_speed = 15
- # Initialize the snake
- snake_List = []
- length_of_snake = 1
- # Set up the font
- font_style = pygame.font.SysFont(None, 50)
- score_font = pygame.font.SysFont(None, 35)
- def our_snake(snake_block, snake_List):
- for x in snake_List:
- pygame.draw.rect(screen, black, [x[0], x[1], snake_block, snake_block])
- def message(msg, color):
- mesg = font_style.render(msg, True, color)
- screen.blit(mesg, [width / 6, height / 3])
- def gameLoop():
- game_over = False
- game_close = False
- x1 = width / 2
- y1 = height / 2
- x1_change = 0
- y1_change = 0
- snake_List = []
- length_of_snake = 1
- foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
- foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
- while not game_over:
- while game_close:
- screen.fill(blue)
- message("You Lost! Press Q-Quit or C-Play Again", red)
- pygame.display.update()
- for event in pygame.event.get():
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_q:
- game_over = True
- game_close = False
- if event.key == pygame.K_c:
- gameLoop()
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- game_over = True
- if event.type == pygame.KEYDOWN:
- if event.key == pygame.K_LEFT:
- x1_change = -snake_block
- y1_change = 0
- elif event.key == pygame.K_RIGHT:
- x1_change = snake_block
- y1_change = 0
- elif event.key == pygame.K_UP:
- y1_change = -snake_block
- x1_change = 0
- elif event.key == pygame.K_DOWN:
- y1_change = snake_block
- x1_change = 0
- if x1 >= width or x1 < 0 or y1 >= height or y1 < 0:
- game_close = True
- x1 += x1_change
- y1 += y1_change
- screen.fill(blue)
- pygame.draw.rect(screen, green, [foodx, foody, snake_block, snake_block])
- snake_Head = []
- snake_Head.append(x1)
- snake_Head.append(y1)
- snake_List.append(snake_Head)
- if len(snake_List) > length_of_snake:
- del snake_List[0]
- for x in snake_List[:-1]:
- if x == snake_Head:
- game_close = True
- our_snake(snake_block, snake_List)
- pygame.display.update()
- if x1 == foodx and y1 == foody:
- foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
- foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
- length_of_snake += 1
- time.sleep(snake_speed)
- pygame.quit()
- quit()
- gameLoop()
- ```
- This code creates a simple snake game. The snake grows and moves around the screen, eating the food that appears randomly. The game ends if the snake runs into the wall or itself. The score is displayed at the top of the screen.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement