From f0ff9f5ff3ca1ace29f68f8cf9d0fce3fd2d8134 Mon Sep 17 00:00:00 2001 From: charvyjain Date: Thu, 28 Jan 2021 17:39:06 +0530 Subject: [PATCH 1/4] Added Snake Game Script --- Snake Game (GUI)/game.png | Bin 0 -> 5577 bytes Snake Game (GUI)/game.py | 127 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 127 insertions(+) create mode 100644 Snake Game (GUI)/game.png create mode 100644 Snake Game (GUI)/game.py diff --git a/Snake Game (GUI)/game.png b/Snake Game (GUI)/game.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1ddce2661920ac4a36aed01a5e7aba36fc5f88 GIT binary patch literal 5577 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 literal 0 HcmV?d00001 diff --git a/Snake Game (GUI)/game.py b/Snake Game (GUI)/game.py new file mode 100644 index 0000000000..78d54ffa77 --- /dev/null +++ b/Snake Game (GUI)/game.py @@ -0,0 +1,127 @@ +import pygame +import time +import random + +pygame.init() + +white = (255, 255, 255) +yellow = (255, 255, 102) +black = (0, 0, 0) +red = (213, 50, 80) +green = (0, 255, 0) +blue = (50, 153, 213) + +dis_width = 600 +dis_height = 400 + +dis = pygame.display.set_mode((dis_width, dis_height)) +pygame.display.set_caption('Snake Game In Python') + +clock = pygame.time.Clock() + +snake_block = 10 +snake_speed = 15 + +font_style = pygame.font.SysFont("bahnschrift", 25) +score_font = pygame.font.SysFont("comicsansms", 35) + + +def Your_score(score): + value = score_font.render("Your Score: " + str(score), True, yellow) + dis.blit(value, [0, 0]) + + + +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 == True: + dis.fill(blue) + message("You Lost! Press 'C' to Play Again or 'Q' To Quit The Game", 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 >= 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) + Your_score(Length_of_snake - 1) + + 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() + \ No newline at end of file From 4b68cb3f90407a568c19cae80934c6ab9713da4d Mon Sep 17 00:00:00 2001 From: CharvyJain <69421337+CharvyJain@users.noreply.github.com> Date: Thu, 28 Jan 2021 18:04:21 +0530 Subject: [PATCH 2/4] Added Readme --- Snake Game (GUI)/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Snake Game (GUI)/README.md diff --git a/Snake Game (GUI)/README.md b/Snake Game (GUI)/README.md new file mode 100644 index 0000000000..15226c4447 --- /dev/null +++ b/Snake Game (GUI)/README.md @@ -0,0 +1,19 @@ +# Snake Game (GUI) + + Snake game is an Arcade Maze Game which has been developed by Gremlin Industries. The player’s objective in the game is to achieve maximum points as possible by collecting food or fruits. The player loses once the snake hits the wall or hits itself. + +## Setup instructions + +In order to run this script, You just need the following 3 modules - + +- **Pygame:** It is a set of Python modules designed for writing video games. +- **Time:** This function is used to count the number of seconds elapsed since the epoch. +- **Random:** This function is used to generate random numbers in Python by using random module. **Pygame, Time and Random** + +## Output + +![Snake Game](game.png) + +## Author + +(Charvy Jain)[https://github.com/CharvyJain] From 074c43f3d00c158bc6a2fd4e5c9d3cc9d5b908a0 Mon Sep 17 00:00:00 2001 From: CharvyJain <69421337+CharvyJain@users.noreply.github.com> Date: Thu, 28 Jan 2021 18:05:08 +0530 Subject: [PATCH 3/4] Update README.md --- Snake Game (GUI)/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snake Game (GUI)/README.md b/Snake Game (GUI)/README.md index 15226c4447..33bdb12403 100644 --- a/Snake Game (GUI)/README.md +++ b/Snake Game (GUI)/README.md @@ -16,4 +16,4 @@ In order to run this script, You just need the following 3 modules - ## Author -(Charvy Jain)[https://github.com/CharvyJain] +(CharvyJain)[https://github.com/CharvyJain] From 3ecf55cfbb9bf170f67a5ade37a96c6ea1a693c8 Mon Sep 17 00:00:00 2001 From: CharvyJain <69421337+CharvyJain@users.noreply.github.com> Date: Thu, 28 Jan 2021 18:06:02 +0530 Subject: [PATCH 4/4] Update README.md --- Snake Game (GUI)/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Snake Game (GUI)/README.md b/Snake Game (GUI)/README.md index 33bdb12403..1644424fa7 100644 --- a/Snake Game (GUI)/README.md +++ b/Snake Game (GUI)/README.md @@ -16,4 +16,4 @@ In order to run this script, You just need the following 3 modules - ## Author -(CharvyJain)[https://github.com/CharvyJain] +[Charvy Jain](https://github.com/CharvyJain)