Overview
In this blog, we’ve covered the step-by-step process of creating a simple snake game using Python. We started by setting up a new project name snake game.We make full structure by using Python, and styling was also done by Python. With this overview, you should be equipped to start creating your own snake game, tailored to your specific needs.
Step 1: Installing pygame library.
Open terminal a Copy and Past code below.
pip install pygame
Step 2: Snake Game Code.
Both structure and styling done in Python language.
Copy and Past Snake game code in your snake-game project
import pygame
import time
import random
# Initialize pygame
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)
# Define display size
dis_width = 800
dis_height = 600
# Create display
dis = pygame.display.set_mode((dis_width, dis_height))
pygame.display.set_caption('Simple Snake Game')
# Set clock speed
clock = pygame.time.Clock()
snake_block = 10
snake_speed = 15
# Define font style
font_style = pygame.font.SysFont(None, 50)
def message(msg, color):
mesg = font_style.render(msg, True, color)
dis.blit(mesg, [dis_width / 6, dis_height / 3])
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 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 == True:
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()
NOTE:- “You can run this code in a Python environment. The game starts with a simple snake and food, and you can control the snake using the arrow keys. The game ends if the snake collides with the screen edges or itself.“
Conclusion:
Creating simple snake game provides a powerful way to handle user input. With Python declarative approach, managing form state and handling user events becomes more intuitive and efficient.
Remember, this is just a basic example. Depending on your project requirements, you might need to add validation, integrate with a backend service for submission, or include additional features like dynamic form fields.
Feel free to experiment and expand upon this example to build more complex forms tailored to your specific needs. Happy coding!