import pygame import random # Initialize Pygame pygame.init() # Set up the display WIDTH = 800 HEIGHT = 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Shooting Game") # Set up the game clock clock = pygame.time.Clock() # Load the images player_img = pygame.image.load("player.png") player_img = pygame.transform.scale(player_img, (50, 50)) bullet_img = pygame.image.load("bullet.png") bullet_img = pygame.transform.scale(bullet_img, (10, 20)) enemy_img = pygame.image.load("enemy.png") enemy_img = pygame.transform.scale(enemy_img, (50, 50)) # Set up the player player_x = 375 player_y = 500 player_speed = 5 # Set up the bullets bullet_speed = 10 bullets = [] # Set up the enemies enemy_speed = 3 enemies = [] # Set up the score score = 0 font = pygame.font.Font(None, 30) # Main game loop running = True while running: # Handle events for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: # Create a bullet bullet = {"x": player_x + 20, "y": player_y - 20} bullets.append(bullet) # Move the player keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_x > 0: player_x -= player_speed if keys[pygame.K_RIGHT] and player_x < WIDTH - 50: player_x += player_speed # Move the bullets for bullet in bullets: bullet["y"] -= bullet_speed if bullet["y"] < 0: bullets.remove(bullet) # Create enemies if random.randint(0, 100) < 5: enemy = {"x": random.randint(0, WIDTH - 50), "y": 0} enemies.append(enemy) # Move the enemies for enemy in enemies: enemy["y"] += enemy_speed if enemy["y"] > HEIGHT: enemies.remove(enemy) # Check for collisions between bullets and enemies for bullet in bullets: for enemy in enemies: if (bullet["x"] > enemy["x"] and bullet["x"] < enemy["x"] + 50) and \ (bullet["y"] > enemy["y"] and bullet["y"] < enemy["y"] + 50): bullets.remove(bullet) enemies.remove(enemy) score += 1 # Draw the game screen.fill((255, 255, 255)) screen.blit(player_img, (player_x, player_y)) for bullet in bullets: screen.blit(bullet_img, (bullet["x"], bullet["y"])) for enemy in enemies: screen.blit(enemy_img, (enemy["x"], enemy["y"])) score_text = font.render("Score: " + str(score), True, (0, 0, 0)) screen.blit(score_text, (10, 10)) pygame.display.update() # Limit the frame rate clock.tick(60) # Quit Pygame pygame.quit()