Untitled
import pygame import random import math # Initialize Pygame pygame.init() # Screen dimensions SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Advanced Football Game") # Colors WHITE = (255, 255, 255) BLACK = (0, 0, 0) GREEN = (0, 255, 0) RED = (255, 0, 0) YELLOW = (255, 255, 0) # Player class class Player(pygame.sprite.Sprite): def __init__(self, color, width, height): super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(color) self.rect = self.image.get_rect() self.speed = 5 self.power_shot = False self.curve_shot = False self.fake_shot = False def update(self): keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: self.rect.x -= self.speed if keys[pygame.K_RIGHT]: self.rect.x += self.speed if keys[pygame.K_UP]: self.rect.y -= self.speed if keys[pygame.K_DOWN]: self.rect.y += self.speed # Dribbling mechanic (hold space to dribble) if keys[pygame.K_SPACE]: self.speed = 8 # Increase speed while dribbling else: self.speed = 5 # Normal speed # Power shot (press 'P') if keys[pygame.K_p]: self.power_shot = True else: self.power_shot = False # Curve shot (press 'C') if keys[pygame.K_c]: self.curve_shot = True else: self.curve_shot = False # Fake shot (press 'F') if keys[pygame.K_f]: self.fake_shot = True else: self.fake_shot = False # Ball class class Ball(pygame.sprite.Sprite): def __init__(self, color, width, height): super().__init__() self.image = pygame.Surface([width, height]) self.image.fill(color) self.rect = self.image.get_rect() self.rect.x = random.randint(0, SCREEN_WIDTH - width) self.rect.y = random.randint(0, SCREEN_HEIGHT - height) def update(self): pass # Create player player = Player(RED, 50, 50) player.rect.x = 100 player.rect.y = 100 # Create ball ball = Ball(GREEN, 20, 20) # Sprite group all_sprites = pygame.sprite.Group() all_sprites.add(player) all_sprites.add(ball) # Game loop running = True clock = pygame.time.Clock() while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False all_sprites.update() screen.fill(WHITE) all_sprites.draw(screen) pygame.display.flip() clock.tick(60) pygame.quit()
Leave a Comment