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 = [WIDTH // 2, HEIGHT - 50] | |
player_size = 50 | |
player_speed = 10 | |
# Alien settings | |
alien_size = 50 | |
alien_speed = 5 | |
aliens = [[random.randint(0, WIDTH - alien_size), 0]] | |
# 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() | |