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"
"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 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
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…
The most common mistakes that beginners while learning to code are 1. Switching between multiple languages 2. No roadmap 3. Lone wolf programming
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…
Yes, apart from a Graphical User Interface i.e. GUI, python can also play with 3D animations! 3D animations make easier in python with the help of the module called vpython and some logic. What is vpython? vpython stands for Visual Python, gives easier functionality to create 3D animations and object which can actually be navigated!…
In this article, we will see the steps in machine learning model formation. Let us first understand what is Machine Learning. It is a field of Artificial Intelligence, where humans train the system to learn, analyze and make decisions. Machine Learning is an important part of Data Science. The Machine Learning algorithm or the model…
So, far we have learned how to add images and mechanics to our game. In this article, we will be learning to add Background Music and text to PyGame. So, do the following changes in the final code that we got in our previous article after adding movement. Adding text to PyGame window: Now, adding…