import pygame import sys import random # 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("Simple Shooter Game") # Colors BLACK = (0, 0, 0) WHITE = (255, 255, 255) RED = (255, 0, 0) BLUE = (0, 0, 255) # Player player_size = 50 player_x = SCREEN_WIDTH // 2 - player_size // 2 player_y = SCREEN_HEIGHT - player_size - 10 player_speed = 5 # Enemy enemy_size = 40 enemy_x = random.randint(0, SCREEN_WIDTH - enemy_size) enemy_y = random.randint(0, SCREEN_HEIGHT // 2) enemy_speed = 3 # Bullet bullet_size = 5 bullet_x = -1 bullet_y = -1 bullet_speed = 7 bullet_state = "ready" # "ready" or "fire" # Score score = 0 font = pygame.font.Font(None, 32) # Game loop clock = pygame.time.Clock() running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE and bullet_state == "ready": bullet_x = player_x + player_size // 2 bullet_y = player_y bullet_state = "fire" # Player movement 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 < SCREEN_WIDTH - player_size: player_x += player_speed # Bullet movement if bullet_state == "fire": bullet_y -= bullet_speed if bullet_y < 0: bullet_state = "ready" screen.fill((0, 255, 0)) # Green trail for bullet # Enemy movement enemy_y += enemy_speed if enemy_y > SCREEN_HEIGHT: enemy_y = 0 enemy_x = random.randint(0, SCREEN_WIDTH - enemy_size) # Collision detection if (bullet_x > enemy_x and bullet_x < enemy_x + enemy_size and bullet_y > enemy_y and bullet_y < enemy_y + enemy_size): score += 1 bullet_state = "ready" enemy_y = 0 enemy_x = random.randint(0, SCREEN_WIDTH - enemy_size) # Draw everything screen.fill(BLACK) pygame.draw.rect(screen, BLUE, (player_x, player_y, player_size, player_size)) pygame.draw.rect(screen, RED, (enemy_x, enemy_y, enemy_size, enemy_size)) if bullet_state == "fire": pygame.draw.rect(screen, WHITE, (bullet_x, bullet_y, bullet_size, bullet_size)) # Score display score_text = font.render(f"Score: {score}", True, WHITE) screen.blit(score_text, (10, 10)) pygame.display.flip() clock.tick(60) pygame.quit() sys.exit()