Table of Contents
Python Code for Snake Game is the fun and educative code in python launguage. This article will guide you through writing a simple snake game in Python using the Pygame library. We’ll cover everything from setting up your environment to writing the game logic and running your game. By the end of this article, you’ll have a fully functional snake game and a deeper understanding of Python programming.
Setting Up the Environment for Python Code for Snake Game
Before we dive into the code, you need to set up your Python environment and install the necessary libraries.
- Install Python: If you haven’t already, download and install Python from the official Python website.
- Install Pygame: Pygame is a popular library for creating games in Python. Install it using pip:
pip install pygame
Game Overview
The snake game consists of a snake that moves around the screen, eating food, and growing in size. The game ends if the snake collides with itself or the screen boundaries.
Step-by-Step Guide to Creating the Snake Game
1. Importing Libraries
First, import the necessary libraries:
import pygame
import time
import random
2. Initializing Pygame
Initialize the Pygame library and set up the game window:
pygame.init()
# Define colors
white = (255, 255, 255)
yellow = (255, 255, 102)
black = (0, 0, 0)
red = (213, 50, 80)
green = (0, 255, 0)
blue = (50, 153, 213)
# Set display dimensions
dis_width = 800
dis_height = 600
# Create the display
dis = pygame.display.set_mode((dis_width, dis_height))
pygame.display.set_caption('Snake Game')
# Set the game clock
clock = pygame.time.Clock()
snake_block = 10
snake_speed = 15
3. Defining the Snake and Food
Define the snake and food objects and their behaviors:
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(dis, black, [x[0], x[1], snake_block, snake_block])
def message(msg, color):
mesg = font_style.render(msg, True, color)
dis.blit(mesg, [dis_width / 6, dis_height / 3])
def gameLoop():
game_over = False
game_close = False
x1 = dis_width / 2
y1 = dis_height / 2
x1_change = 0
y1_change = 0
snake_List = []
Length_of_snake = 1
foodx = round(random.randrange(0, dis_width - snake_block) / 10.0) * 10.0
foody = round(random.randrange(0, dis_height - snake_block) / 10.0) * 10.0
while not game_over:
while game_close:
dis.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 >= dis_width or x1 < 0 or y1 >= dis_height or y1 < 0:
game_close = True
x1 += x1_change
y1 += y1_change
dis.fill(blue)
pygame.draw.rect(dis, 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, dis_width - snake_block) / 10.0) * 10.0
foody = round(random.randrange(0, dis_height - snake_block) / 10.0) * 10.0
Length_of_snake += 1
clock.tick(snake_speed)
pygame.quit()
quit()
gameLoop()
Explaining the Code
Importing Libraries
We start by importing the Pygame library and other necessary libraries like time
and random
.
Initializing Pygame
We initialize Pygame and set up the display dimensions and colors. This section also includes setting the title of the game window and the clock speed.
Defining the Snake and Food
We define functions to display the snake and messages on the screen. The our_snake
function draws the snake, and the message
function displays text messages.
Game Loop
The gameLoop
function contains the main logic of the game:
- Game Over Conditions: The game ends if the snake collides with itself or the boundaries.
- Movement: The snake moves according to the arrow keys pressed.
- Food Generation: Food is randomly placed on the screen, and the snake grows when it eats the food.
- Score Update: The score increases as the snake eats more food.
Running the Game
Finally, we call the gameLoop
function to start the game.
- Game Over Screenshot: Capture the screen when the game ends to illustrate the game over condition.
Conclusion
Creating a snake game in Python is an excellent way to learn game development and enhance your programming skills. This project covers basic concepts like user input, game loops, and collision detection. By following this guide, you can build a fully functional snake game and customize it further to add more features and improve your skills.
For more readings about programming check out :https://menlypedia.xyz/category/programming/
References
- Pygame Documentation. (n.d.). Retrieved from Pygame.
- Python Official Documentation. (n.d.). Retrieved from Python.org.