import pygame,sys # Initialize Pygame pygame.init() # Screen dimensions WIDTH, HEIGHT = 800, 600 WIN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Spaceship Shooter") # Colors BLACK = (0, 0, 0) RED = (255, 0, 0) # Player settings SPACESHIP_WIDTH, SPACESHIP_HEIGHT = 50, 40 SPACESHIP_SPEED = 5 LASER_SPEED = 7 # Load spaceship image SPACESHIP_IMAGE = pygame.Surface((SPACESHIP_WIDTH, SPACESHIP_HEIGHT)) SPACESHIP_IMAGE.fill((0, 255, 0)) # Laser class class Laser: def __init__(self, x, y): self.rect = pygame.Rect(x, y, 5, 10) def move(self): self.rect.y -= LASER_SPEED def draw(self, win): pygame.draw.rect(win, RED, self.rect) def main(): run = True clock = pygame.time.Clock() spaceship = pygame.Rect(WIDTH // 2, HEIGHT - 60, SPACESHIP_WIDTH, SPACESHIP_HEIGHT) lasers = [] while run: clock.tick(60) # FPS WIN.fill(BLACK) # Event Handling for event in pygame.event.get(): if event.type == pygame.QUIT: run = False # Movement keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and spaceship.x - SPACESHIP_SPEED > 0: spaceship.x -= SPACESHIP_SPEED if keys[pygame.K_RIGHT] and spaceship.x + SPACESHIP_SPEED + spaceship.width < WIDTH: spaceship.x += SPACESHIP_SPEED if keys[pygame.K_SPACE]: lasers.append(Laser(spaceship.x + spaceship.width//2 - 2, spaceship.y)) # Move and draw lasers for laser in lasers[:]: laser.move() if laser.rect.y < 0: lasers.remove(laser) else: laser.draw(WIN) # Draw spaceship WIN.blit(SPACESHIP_IMAGE, (spaceship.x, spaceship.y)) pygame.display.update() pygame.quit() sys.exit() if __name__ == "__main__": main()