0% found this document useful (0 votes)
11 views9 pages

Snake Game

This document contains a Python script that implements a simple Snake game using the Pygame library. The game features a window where the player controls a snake to eat food, grow in length, and avoid collisions with the walls or itself. The game includes score tracking and allows the player to restart or quit after losing.
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)
11 views9 pages

Snake Game

This document contains a Python script that implements a simple Snake game using the Pygame library. The game features a window where the player controls a snake to eat food, grow in length, and avoid collisions with the walls or itself. The game includes score tracking and allows the player to restart or quit after losing.
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/ 9

import pygame

import time

import random

# Initialize pygame

pygame.init()

# Set the dimensions of the window

width = 600

height = 400

game_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 the game clock

clock = pygame.time.Clock()

snake_block = 10

snake_speed = 15

# Set font for score display

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

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


# Function to display the score

def Your_score(score):

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

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

# Function to draw the snake

def our_snake(snake_block, snake_list):

for x in snake_list:

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

# Function to display a message

def message(msg, color):

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

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

# Main game loop

def gameLoop():

game_over = False

game_close = False

# Initial position of the snake

x1 = width / 2

y1 = height / 2

# Snake movement

x1_change = 0
y1_change = 0

# Snake length and body parts

snake_List = []

Length_of_snake = 1

# Random position of the food

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:

game_window.fill(blue)

message("You Lost! Press Q-Quit or C-Play Again", 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

game_window.fill(blue)

pygame.draw.rect(game_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()

# Check if snake eats the food

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

clock.tick(snake_speed)

pygame.quit()

quit()

# Start the game loop

gameLoop()

You might also like