Untitled

 avatar
unknown
plain_text
4 months ago
2.2 kB
1
Indexable
import pygame
import random
import time

# Initialize pygame
pygame.init()

# Define constants
WIDTH, HEIGHT = 800, 600
FPS = 60
PLAYER_WIDTH, PLAYER_HEIGHT = 50, 50
OBSTACLE_WIDTH, OBSTACLE_HEIGHT = 50, 50
SPEED = 5
GRAVITY = 0.5

# Colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)

# Game screen setup
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Subway Surfers Clone")

# Clock for controlling frame rate
clock = pygame.time.Clock()

# Load assets
player_image = pygame.Surface((PLAYER_WIDTH, PLAYER_HEIGHT))
player_image.fill(GREEN)

obstacle_image = pygame.Surface((OBSTACLE_WIDTH, OBSTACLE_HEIGHT))
obstacle_image.fill(RED)

# Player class
class Player(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = player_image
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH // 2, HEIGHT - 100)
        self.speed_x = 0
        self.speed_y = 0

    def update(self):
        # Update player position
        self.rect.x += self.speed_x
        self.rect.y += self.speed_y

        # Apply gravity
        if self.rect.y < HEIGHT - PLAYER_HEIGHT:
            self.speed_y += GRAVITY
        else:
            self.rect.y = HEIGHT - PLAYER_HEIGHT
            self.speed_y = 0

        # Stay within screen bounds
        if self.rect.x < 0:
            self.rect.x = 0
        if self.rect.x > WIDTH - PLAYER_WIDTH:
            self.rect.x = WIDTH - PLAYER_WIDTH

    def jump(self):
        if self.rect.y == HEIGHT - PLAYER_HEIGHT:
            self.speed_y = -15

# Obstacle class
class Obstacle(pygame.sprite.Sprite):
    def __init__(self, x, y):
        super().__init__()
        self.image = obstacle_image
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

    def update(self):
        self.rect.x -= SPEED
        if self.rect.x < 0:
            self.kill()

# Game loop
def game_loop():
    # Create player and sprite groups
    player = Player()
    all_sprites = pygame.sprite.Group()
    all_sprites.add(player)

    obstacles = pygame.sprite.Group()

    # Game variables
    score = 0
    last_obstacle_ti
Editor is loading...
Leave a Comment