Untitled
unknown
plain_text
a year ago
2.7 kB
6
Indexable
import pygame
import random
# Initialize Pygame
pygame.init()
# Set screen dimensions
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# Set title and icon
pygame.display.set_caption("Speedster")
icon = pygame.image.load("car_icon.png")
pygame.display.set_icon(icon)
# Define some colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
# Define car properties
CAR_WIDTH = 50
CAR_HEIGHT = 50
CAR_SPEED = 5
car_x = SCREEN_WIDTH / 2
car_y = SCREEN_HEIGHT / 2
car_lane = 1 # 1, 2, or 3
# Define obstacle properties
OBSTACLE_WIDTH = 20
OBSTACLE_HEIGHT = 20
obstacles = []
# Define power-up properties
POWER_UP_WIDTH = 20
POWER_UP_HEIGHT = 20
power_ups = []
# Define fuel properties
FUEL_CAPACITY = 100
fuel_level = FUEL_CAPACITY
# Game loop
while True:
# Handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
car_lane -= 1
elif event.key == pygame.K_DOWN:
car_lane += 1
# Move car
car_x += CAR_SPEED
# Check for collisions with obstacles
for obstacle in obstacles:
if car_x + CAR_WIDTH > obstacle[0] and car_x < obstacle[0] + OBSTACLE_WIDTH:
if car_lane == obstacle[1]:
print("Game Over!")
pygame.quit()
sys.exit()
# Check for power-ups
for power_up in power_ups:
if car_x + CAR_WIDTH > power_up[0] and car_x < power_up[0] + POWER_UP_WIDTH:
if car_lane == power_up[1]:
# Apply power-up effect
print("Power-up collected!")
fuel_level += 10
# Update fuel level
fuel_level -= 1
if fuel_level <= 0:
print("Out of fuel!")
pygame.quit()
sys.exit()
# Draw everything
screen.fill(BLACK)
pygame.draw.rect(screen, WHITE, (car_x, car_y, CAR_WIDTH, CAR_HEIGHT))
for obstacle in obstacles:
pygame.draw.rect(screen, RED, (obstacle[0], obstacle[1], OBSTACLE_WIDTH, OBSTACLE_HEIGHT))
for power_up in power_ups:
pygame.draw.rect(screen, WHITE, (power_up[0], power_up[1], POWER_UP_WIDTH, POWER_UP_HEIGHT))
pygame.display.flip()
# Add new obstacles and power-ups
if random.randint(0, 100) < 10:
obstacles.append((random.randint(0, SCREEN_WIDTH - OBSTACLE_WIDTH), random.randint(1, 3)))
if random.randint(0, 100) < 5:
power_ups.append((random.randint(0, SCREEN_WIDTH - POWER_UP_WIDTH), random.randint(1, 3)))
# Cap framerate
pygame.time.Clock().tick(60)
Editor is loading...
Leave a Comment