Untitled
unknown
plain_text
7 months ago
4.0 kB
1
Indexable
Never
import pygame import sys import random import time WHITE = (255,255,255) BLACK = (0,0,0) RED = (255, 0, 0) FOX_SPEED = 1 BOUNDARY_WIDTH = 600 BOUNDARY_HEIGHT = 400 pygame.init() # Initialize the background setting game_window = pygame.display.set_mode((800, 600)) #Create a display window score = 0 # Initialize the variable for player's score class Fox(pygame.sprite.Sprite): def __init__(self): super().__init__() # Neccessary line when making a Sprite class self.image = pygame.image.load('fox.png') # Load alice image self.rect = pygame.Rect(100, 100, self.image.get_width(), self.image.get_height()) def move(self): keys = pygame.key.get_pressed() # Get the list of pressed keys if keys[pygame.K_RIGHT] and self.rect.x <= BOUNDARY_WIDTH: # If the player presses the right key and Alice is not out of bounds self.rect.x += FOX_SPEED if keys[pygame.K_LEFT] and self.rect.x >= 0: self.rect.x -= FOX_SPEED if keys[pygame.K_UP] and self.rect.y >= 0: self.rect.y -= FOX_SPEED if keys[pygame.K_DOWN] and self.rect.y <= BOUNDARY_HEIGHT: self.rect.y += FOX_SPEED class Fruit(pygame.sprite.Sprite): def __init__(self, fruit_type): super().__init__() # Neccessary line when making a Sprite class self.fruit_type=fruit_type if self.fruit_type=="apple": self.image = pygame.image.load('apple.png') # Load star image self.value=10 elif self.fruit_type=="orange": self.image = pygame.image.load('orange.png') # Load star image self.value=20 x_pos = random.randint(1, 30) * 10 #Set X coordinate (random number) y_pos = random.randint(1, 20) * 10 #Set Y coordinate (random number) self.rect = pygame.Rect(x_pos, y_pos, self.image.get_width(), self.image.get_height()) def detect_collision(self, fox): global score if pygame.sprite.collide_rect(self, fox): score+=self.value x_pos = random.randint(1, 30) * 10 #Set X coordinate (random number) y_pos = random.randint(1, 20) * 10 #Set Y coordinate (random number) return True return False class Trap(pygame.sprite.Sprite): def __init__(self): self.image= pygame.image.load('trap.png') x_pos = random.randint(1, 30) * 10 #Set X coordinate (random number) y_pos = random.randint(1, 20) * 10 #Set Y coordinate (random number) self.rect = pygame.Rect(x_pos, y_pos, self.image.get_width(), self.image.get_height()) fox=Fox() fruit1=Fruit("apple") fruit2=Fruit("orange") trap=Trap() while True: game_window.fill(WHITE) game_window.blit(fox.image, fox.rect) # Draw the first sprite game_window.blit(fruit1.image, fruit1.rect) # Draw the second sprite game_window.blit(fruit2.image, fruit2.rect) # Draw the second sprite game_window.blit(trap.image, trap.rect) #Draw the third sprite score_font = pygame.font.SysFont('times new roman', 20) # Set the font and size for the text score_surface = score_font.render('Score : ' + str(score), True, BLACK) game_window.blit(score_surface, (200, 0)) # Display the text for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() # Quit Pygame sys.exit() # Exit the program # Event handler for movement fox.move() # Event handler for alice-star collision fruit1.detect_collision(fox) fruit2.detect_collision(fox) # Event handler for alice-poison collision if pygame.sprite.collide_rect(fox, trap): # Alice touches the Poison game_window.fill(BLACK) over_font = pygame.font.SysFont('times new roman', 50) game_over_surface = over_font.render('Your Score is : ' + str(score), True, RED) game_window.blit(game_over_surface, (150, 300)) #D isplay the text for final score pygame.display.update() time.sleep(2) # Wait for 2 seconds pygame.quit() # Quit Pygame sys.exit() # Exit the program pygame.display.update() # Display the most recently drawn screen
Leave a Comment