Untitled
unknown
plain_text
2 months ago
2.9 kB
3
Indexable
pip install import pygame import random import os # Initialize pygame pygame.init() # Screen dimensions SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 # Colors WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) # Create the screen screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Car Game") # Clock for controlling frame rate clock = pygame.time.Clock() # Load images car_image = pygame.image.load(os.path.join("assets", "car.png")) # Replace with your car image obstacle_image = pygame.image.load(os.path.join("assets", "obstacle.png")) # Replace with your obstacle image # Resize images car_image = pygame.transform.scale(car_image, (50, 100)) obstacle_image = pygame.transform.scale(obstacle_image, (50, 50)) # Car class class Car: def __init__(self): self.image = car_image self.rect = self.image.get_rect() self.rect.center = (SCREEN_WIDTH // 2, SCREEN_HEIGHT - 100) def move(self, direction): if direction == "left" and self.rect.left > 0: self.rect.x -= 10 if direction == "right" and self.rect.right < SCREEN_WIDTH: self.rect.x += 10 def draw(self): screen.blit(self.image, self.rect) # Obstacle class class Obstacle: def __init__(self): self.image = obstacle_image self.rect = self.image.get_rect() self.rect.x = random.randint(0, SCREEN_WIDTH - self.rect.width) self.rect.y = -self.rect.height self.speed = random.randint(5, 10) def update(self): self.rect.y += self.speed if self.rect.top > SCREEN_HEIGHT: self.rect.x = random.randint(0, SCREEN_WIDTH - self.rect.width) self.rect.y = -self.rect.height self.speed = random.randint(5, 10) def draw(self): screen.blit(self.image, self.rect) # Game variables car = Car() obstacles = [Obstacle() for _ in range(5)] score = 0 font = pygame.font.Font(None, 36) # Game loop running = True while running: # Handle events for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # Move car keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: car.move("left") if keys[pygame.K_RIGHT]: car.move("right") # Update obstacles for obstacle in obstacles: obstacle.update() if car.rect.colliderect(obstacle.rect): running = False # End game on collision if obstacle.rect.top > SCREEN_HEIGHT: score += 1 # Draw everything screen.fill(WHITE) car.draw() for obstacle in obstacles: obstacle.draw() # Display score score_text = font.render(f"Score: {score}", True, BLACK) screen.blit(score_text, (10, 10)) # Update display pygame.display.flip() # Cap frame rate clock.tick(30) # Quit pygame pygame.quit()
Editor is loading...
Leave a Comment