0% found this document useful (0 votes)
21 views5 pages

Snake

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views5 pages

Snake

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

import pygame

import time

import random

# Initialize the game

pygame.init()

# Set the dimensions of the window

width, height = 600, 400

window = pygame.display.set_mode((width, height))

# Define colors

black = (0, 0, 0)

white = (255, 255, 255)

red = (213, 50, 80)

green = (0, 255, 0)

blue = (50, 153, 213)

# Set snake parameters

snake_block = 10

snake_speed = 15

# Create a clock

clock = pygame.time.Clock()
# Define font styles

font_style = pygame.font.SysFont("bahnschrift", 25)

score_font = pygame.font.SysFont("comicsansms", 35)

def your_score(score):

value = score_font.render("Score: " + str(score), True, black)

window.blit(value, [0, 0])

def our_snake(snake_block, snake_list):

for x in snake_list:

pygame.draw.rect(window, green, [x[0], x[1], snake_block, snake_block])

def message(msg, color):

mesg = font_style.render(msg, True, color)

window.blit(mesg, [width / 6, height / 3])

def gameLoop(): # creating a function

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.randint(0, width - snake_block) / 10.0) * 10.0

foody = round(random.randint(0, height - snake_block) / 10.0) * 10.0

while not game_over:

while game_close == True:

window.fill(blue)

message("You Lost! Press C-Play Again or Q-Quit", red)

your_score(Length_of_snake - 1)

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

window.fill(blue)

pygame.draw.rect(window, white, [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)

your_score(Length_of_snake - 1)

pygame.display.update()

if x1 == foodx and y1 == foody:

foodx = round(random.randint(0, width - snake_block) / 10.0) * 10.0

foody = round(random.randint(0, height - snake_block) / 10.0) * 10.0

Length_of_snake += 1

clock.tick(snake_speed)

pygame.quit()

quit()

gameLoop()

You might also like