Frogs

Aliens
 avatar
unknown
abap
2 years ago
2.2 kB
4
Indexable
import pygame
import random

# Initialize pygame
pygame.init()

# Set the screen dimensions
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Set the caption
pygame.display.set_caption("Alien Invaders")

# Load the images
spaceship_img = pygame.image.load("spaceship.png")
alien_img = pygame.image.load("alien.png")
explosion_img = pygame.image.load("explosion.png")

# Set the game variables
player_x = SCREEN_WIDTH // 2
player_y = SCREEN_HEIGHT - 100
player_speed = 5
player_lives = 3
score = 0
aliens = []
alien_speed = 2
alien_frequency = 30
explosions = []

# Define the functions
def draw_player():
    screen.blit(spaceship_img, (player_x, player_y))

def move_player(direction):
    global player_x
    if direction == "left":
        player_x -= player_speed
    elif direction == "right":
        player_x += player_speed
    if player_x < 0:
        player_x = 0
    elif player_x > SCREEN_WIDTH - spaceship_img.get_width():
        player_x = SCREEN_WIDTH - spaceship_img.get_width()

def draw_aliens():
    for alien in aliens:
        screen.blit(alien_img, (alien["x"], alien["y"]))

def move_aliens():
    for alien in aliens:
        alien["y"] += alien_speed
        if alien["y"] > SCREEN_HEIGHT:
            player_lives -= 1
            aliens.remove(alien)

def create_alien():
    x = random.randint(0, SCREEN_WIDTH - alien_img.get_width())
    y = -alien_img.get_height()
    aliens.append({"x": x, "y": y})

def draw_explosions():
    for explosion in explosions:
        screen.blit(explosion_img, (explosion["x"], explosion["y"]))

def move_explosions():
    for explosion in explosions:
        explosion["frames_left"] -= 1
        if explosion["frames_left"] == 0:
            explosions.remove(explosion)

def create_explosion(x, y):
    explosions.append({"x": x, "y": y, "frames_left": 30})

def detect_collisions():
    global score
    for alien in aliens:
        alien_rect = pygame.Rect(alien["x"], alien["y"], alien_img.get_width(), alien_img.get_height())
        for explosion in explosions:
            explosion_rect = pygame.Rect(explosion["x"], explosion["y"], explosion_img.get_width(), explosion_img
800600210053030aliens:
        alien1
Editor is loading...