make a space invader game
To upload files, please first save the app
import streamlit as st
import pygame
import sys
# Initialize Pygame
pygame.init()
# Set up the game window
game_width = 600
game_height = 400
screen = pygame.display.set_mode((game_width, game_height))
pygame.display.set_caption('Space Invaders')
# Game variables
player_pos = [300, 350]
invaders = [[x, 50] for x in range(50, 550, 50)]
projectiles = []
# Game loop
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
# Fire a projectile
projectiles.append([player_pos[0] + 10, player_pos[1] - 10])
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_pos[0] > 0:
player_pos[0] -= 5
if keys[pygame.K_RIGHT] and player_pos[0] < game_width - 20:
player_pos[0] += 5
# Update projectile positions
for projectile in projectiles:
projectile[1] -= 10
# Remove projectiles that are off screen
projectiles = [p for p in projectiles if p[1] > 0]
# Draw everything
screen.fill((0, 0, 0)) # Clear screen
pygame.draw.rect(screen, (0, 255, 0), (player_pos[0], player_pos[1], 20, 20)) # Draw player
for missile in projectiles:
pygame.draw.rect(screen, (255, 0, 0), (missile[0], missile[1], 5, 10))
for invader in invaders:
pygame.draw.rect(screen, (255, 255, 0), (invader[0], invader[1], 40, 30)) # Draw invaders
pygame.display.flip() # Update the display
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?