
We are providing you the code for a full working Snake Game in Python using Pygame. Most of us may have played this interesting game in our childhood.
For this game to run in your system you should have pygame installed in your system.
To install pygame in your system, type the following commands in your terminal–
"pip install pygame"
If this does not work then try this one–
"py -m pip install -U pygame --user"
Some short–
"py -m pip install pygame"
Lets see the code now.
Code for snake game in python
import pygame import random # initializing pygame pygame.init() # Colors white = (255, 255, 255) # rgb format red = (255, 0, 0) black = (0, 0, 0) # Creating window screen_width = 900 screen_height = 600 gameWindow = pygame.display.set_mode((screen_width, screen_height)) # Game Title pygame.display.set_caption("Coders Home") pygame.display.update() clock = pygame.time.Clock() font = pygame.font.SysFont(None, 55) def text_screen(text, color, x, y): screen_text = font.render(text, True, color) gameWindow.blit(screen_text, [x,y]) def plot_snake(gameWindow, color, snk_list, snake_size): for x,y in snk_list: pygame.draw.rect(gameWindow, color, [x, y, snake_size, snake_size]) # Game Loop def gameloop(): exit_game = False game_over = False snake_x = 45 snake_y = 55 velocity_x = 0 velocity_y = 0 snk_list = [] snk_length = 1 food_x = random.randint(20, screen_width-20) food_y = random.randint(60, screen_height -20) score = 0 init_velocity = 4 snake_size = 30 fps = 60 # fps = frames per second while not exit_game: if game_over: gameWindow.fill(white) text_screen("Game Over! Press Enter To Continue", red, 100, 250) for event in pygame.event.get(): if event.type == pygame.QUIT: exit_game = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_RETURN: gameloop() else: for event in pygame.event.get(): if event.type == pygame.QUIT: exit_game = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: velocity_x = init_velocity velocity_y = 0 if event.key == pygame.K_LEFT: velocity_x = - init_velocity velocity_y = 0 if event.key == pygame.K_UP: velocity_y = - init_velocity velocity_x = 0 if event.key == pygame.K_DOWN: velocity_y = init_velocity velocity_x = 0 snake_x = snake_x + velocity_x snake_y = snake_y + velocity_y if abs(snake_x - food_x)<10 and abs(snake_y - food_y)<10: score +=1 food_x = random.randint(20, screen_width - 30) food_y = random.randint(60, screen_height - 30) snk_length +=5 gameWindow.fill(white) text_screen("Score: " + str(score * 10), red, 5, 5) pygame.draw.rect(gameWindow, red, [food_x, food_y, snake_size, snake_size]) pygame.draw.line(gameWindow, red, (0,40), (900,40),5) head = [] head.append(snake_x) head.append(snake_y) snk_list.append(head) if len(snk_list)>snk_length: del snk_list[0] if head in snk_list[:-1]: game_over = True if snake_x<0 or snake_x>screen_width-20 or snake_y<50 or snake_y>screen_height-20: game_over = True plot_snake(gameWindow, black, snk_list, snake_size) pygame.display.update() clock.tick(fps) pygame.quit() quit() gameloop()
Output of code for snake game in python



Also Read:
10 Tkinter Projects for Beginners
Introduction Python has become one of the fastest-growing programming languages, and its applications are also increasing every day. Tkinter Projects for Beginners are one of the best ways to learn the basics of Python. Tkinter is said to be one of the most straightforward modules to start learning Python as well. This will help absolute…
10 Useful Python One-Liners
In this tutorial, we will learn about the best and most powerful Python One-Liners ranging from beginner’s level to advanced level that too with examples for better understanding. Using Python One-Liners in your programs will actually make your code more readable and precise. What exactly are Python One-Liners? One-liners in simple language are single-line codes…
100+ Java Projects for Beginners 2023
Are you looking for interesting Java Projects ideas and 100+ Java Projects for beginners with source code? If yes, the you have come to right place because in this article we will show you best 100+ Java project ideas and topics for beginners with source code. We recommend you bookmark this page before you lost it as…
15 Common Coding Mistakes by Beginners
The most common mistakes that beginners while learning to code are 1. Switching between multiple languages 2. No roadmap 3. Lone wolf programming
15 Deep Learning Projects for Final year
Introduction In this tutorial, we are going to learn about Deep Learning Projects for Final year students. It contains all the beginner, intermediate and advanced level project ideas as well as an understanding of what is deep learning and the applications of deep learning. What is Deep Learning? Deep learning is basically the subset of…
20 Python Projects for Resume
About 20 Python Projects for Resume Today, in this article on 20 Python Projects for Resume, we’ll expose you to some of the top beginners to advanced python projects for resumes. In 2022, your best investment will be learning Python through practical projects. Therefore, working on actual Python projects is essential if you wish to…