A snake game code

import pygame
import time
import random

pygame.init()

display_width = 800
display_height = 600
block_size = 20
FPS = 15

white = (255, 255, 255)
black = (0, 0, 0)
red = (213, 50, 80)
green = (0, 255, 0)
blue = (50, 153, 213)

gameDisplay = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption(‘Snake Game’)
clock = pygame.time.Clock()

font = pygame.font.SysFont(None, 25)

def snake(block_size, snakeList):
for XnY in snakeList:
pygame.draw.rect(gameDisplay, green, [XnY[0], XnY[1], block_size, block_size])

def message_to_screen(msg, color):
screen_text = font.render(msg, True, color)
gameDisplay.blit(screen_text, [display_width/2, display_height/2])

def gameLoop():
gameExit = False
gameOver = False

lead_x = display_width / 2
lead_y = display_height / 2
lead_x_change = 0
lead_y_change = 0 snakeList = []
snakeLength = 1 randAppleX = round(random.randrange(0, display_width - block_size) / 10.0) * 10.0
randAppleY = round(random.randrange(0, display_height - block_size) / 10.0) * 10.0 while not gameExit: while gameOver == True: gameDisplay.fill(white) message_to_screen("Game over, press C to play again or Q to quit", red) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: gameExit = True gameOver = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_q: gameExit = True gameOver = False if event.key == pygame.K_c: gameLoop() for event in pygame.event.get(): if event.type == pygame.QUIT: gameExit = True 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_y_change = -block_size lead_x_change = 0 elif event.key == pygame.K_DOWN: lead_y_change = block_size lead_x_change = 0 if lead_x >= display_width or lead_x < 0 or lead_y >= display_height or lead_y < 0: gameOver = True lead_x += lead_x_change lead_y += lead_y_change gameDisplay.fill(black) pygame.draw.rect(gameDisplay, red, [randAppleX, randAppleY, block_size, block_size]) snakeHead = [] snakeHead.append(lead_x) snakeHead.append(lead_y) snakeList.append(snakeHead) if len(snakeList) > snakeLength: del snakeList[0] for eachSegment in snakeList[:-1]: if eachSegment == snakeHead: gameOver = True snake(block_size, snakeList) pygame.display.update() if lead_x == randAppleX and lead_y == randAppleY: randAppleX = round(random.randrange(0, display_width - block_size) / 10.0) * 10.0 randAppleY = round(random.randrange(0, display_height - block_size) / 10.0) * 10.0 snakeLength += 1 clock.tick(FPS) pygame.quit()
quit()
Enter fullscreen mode
Exit fullscreen mode

gameLoop()


Discover more from Coursity

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Discover more from Coursity

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top
Another standout feature of cloudystorage is its commitment to delivering best value cloud storage provider services. Portainer docker compose. Portfolio urban safari pet.