Computer Science 2
*********
*********
Due Date: May 6, 2024
Assignment
-Practice Quizizz for Python Arrays  
Click here to practice the quizizz.
https://quizizz.com/join?gc=76091873

 

*********
*********

Python Program to build the snake game

Purpose: We are going to create a Python program
to play snake.
Complete the assignment below:
You will need to create the following 3 files: PX_Snake_lastname.py (Actual python program) PX_Snake_lastname.png (Screen shot of program running in the IDE) PX_Snake_lastname.mp4 (Video) (Explaining the program and running the program) (To help you, you may want to read the comments) We are going to build a snake game using python. First, you'll need to install pygame if you haven't already. You can do this using pip: pip install pygame Use the code below for the basic implementation of the Snake game: import pygame # Import the pygame module for game development import random # Import the random module to generate random numbers pygame.init() # Initialize all imported pygame modules # Define colors using RGB (Red, Green, Blue) values white = (255, 255, 255) red = (213, 50, 80) green = (0, 255, 0) black = (0, 0, 0) # Set dimensions of the game window and create the display dis_width = 800 dis_height = 600 dis = pygame.display.set_mode((dis_width, dis_height)) # Set the title of the window pygame.display.set_caption('Snake Game by OpenAI') # Create a clock object to control game timing clock = pygame.time.Clock() # Set block size and game speed snake_block = 10 snake_speed = 15 # Create a font object for displaying text font_style = pygame.font.SysFont(None, 50) # Function to draw snake blocks 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]) # Function to display messages on the screen def message(msg, color): mesg = font_style.render(msg, True, color) dis.blit(mesg, [dis_width / 6, dis_height / 3]) # Main game loop function def gameLoop(): game_over = False game_close = False # Initial position of the snake in the center of the window x1 = dis_width / 2 y1 = dis_height / 2 # Movement variables (initially no movement) x1_change = 0 y1_change = 0 # List to store the segments of the snake's body snake_list = [] length_of_snake = 1 # Randomly place the initial food item 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 loop for the main game sequence while not game_over: # Loop to handle end of game scenario while game_close == True: dis.fill(white) 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() # Event handling in the game 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 # Check for boundary collision if x1 >= dis_width or x1 < 0 or y1 &g;= dis_height or y1 < 0: game_close = True x1 += x1_change y1 += y1_change dis.fill(white) 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] # Check for collision with itself for x in snake_list[:-1]: if x == snake_head: game_close = True our_snake(snake_block, snake_list) pygame.display.update() # Check if snake has eaten the food 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) # Control the speed of the game pygame.quit() # Uninitialize all pygame modules quit() # Quit the program gameLoop() # Call the game loop function to start the game This Python script sets up a window using pygame, handles key presses to control the snake, and updates the game state to reflect the snake's movement and food consumption. The game runs in an infinite loop until the player decides to exit by closing the window or the snake runs into itself or the boundaries.

*********
*********
*********

Resources you may need and select Web addresses you may need (Below)

*********
*********
*********
 
-Locate your Cyber Range Passwords below by seat number.
Cyber Range Sign on ids and passwords (Period 7)
Click here and get your id and password.

Click here for your cyber range.
https://apps.cyber.org/login

*********
*********

-Using Linux and the python interpreter

If you have forgotten how to boot up your Kali Linux machine and run python.
Click here for full instructions.