Spaces:
Sleeping
Sleeping
| import pygame | |
| import random | |
| # Initialize Pygame | |
| pygame.init() | |
| # Screen dimensions | |
| WIDTH, HEIGHT = 800, 600 | |
| screen = pygame.display.set_mode((WIDTH, HEIGHT)) | |
| pygame.display.set_caption("Extreme Alien FPS Shooter") | |
| # Colors | |
| WHITE = (255, 255, 255) | |
| BLACK = (0, 0, 0) | |
| GREEN = (0, 255, 0) | |
| RED = (255, 0, 0) | |
| # Player settings | |
| player_pos = | |
| player_size = 50 | |
| player_speed = 10 | |
| # Alien settings | |
| alien_size = 50 | |
| alien_speed = 5 | |
| aliens = | |
| # Bullet settings | |
| bullet_size = 5 | |
| bullets = | |
| bullet_speed = 15 | |
| # Game loop | |
| clock = pygame.time.Clock() | |
| running = True | |
| while running: | |
| for event in pygame.event.get(): | |
| if event.type == pygame.QUIT: | |
| running = False | |
| keys = pygame.key.get_pressed() | |
| if keys[pygame.K_LEFT] and player_pos[0] > 0: | |
| player_pos[0] -= player_speed | |
| if keys[pygame.K_RIGHT] and player_pos[0] < WIDTH - player_size: | |
| player_pos[0] += player_speed | |
| if keys[pygame.K_SPACE]: | |
| bullets.append([player_pos[0] + player_size // 2, player_pos[1]]) | |
| # Move aliens | |
| for alien in aliens: | |
| alien[1] += alien_speed | |
| if alien[1] > HEIGHT: | |
| aliens.remove(alien) | |
| aliens.append([random.randint(0, WIDTH - alien_size), 0]) | |
| # Move bullets | |
| for bullet in bullets: | |
| bullet[1] -= bullet_speed | |
| if bullet[1] < 0: | |
| bullets.remove(bullet) | |
| # Check for collisions | |
| for alien in aliens: | |
| for bullet in bullets: | |
| if (alien[0] < bullet[0] < alien[0] + alien_size) and (alien[1] < bullet[1] < alien[1] + alien_size): | |
| bullets.remove(bullet) | |
| aliens.remove(alien) | |
| aliens.append([random.randint(0, WIDTH - alien_size), 0]) | |
| # Drawing | |
| screen.fill(BLACK) | |
| pygame.draw.rect(screen, GREEN, (player_pos[0], player_pos[1], player_size, player_size)) | |
| for alien in aliens: | |
| pygame.draw.rect(screen, RED, (alien[0], alien[1], alien_size, alien_size)) | |
| for bullet in bullets: | |
| pygame.draw.rect(screen, WHITE, (bullet[0], bullet[1], bullet_size, bullet_size)) | |
| pygame.display.flip() | |
| clock.tick(30) | |
| pygame.quit() | |