Untitled
unknown
plain_text
5 months ago
2.5 kB
3
Indexable
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("Simple Shooting Game") # Colors WHITE = (255, 255, 255) BLACK = (0, 0, 0) RED = (255, 0, 0) BLUE = (0, 0, 255) # Clock clock = pygame.time.Clock() # Player settings player_size = 50 player_x = WIDTH // 2 player_y = HEIGHT - player_size - 10 player_speed = 5 # Bullet settings bullets = [] bullet_speed = -7 bullet_size = 10 # Enemy settings enemies = [] enemy_size = 50 enemy_speed = 3 spawn_rate = 30 # Frames between enemy spawns # Score score = 0 font = pygame.font.Font(None, 36) # Game loop running = True frame_count = 0 while running: screen.fill(BLACK) # Check events for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 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 < WIDTH - player_size: player_x += player_speed if keys[pygame.K_SPACE]: bullets.append([player_x + player_size // 2, player_y]) # Update bullets for bullet in bullets[:]: bullet[1] += bullet_speed if bullet[1] < 0: bullets.remove(bullet) # Update enemies if frame_count % spawn_rate == 0: enemies.append([random.randint(0, WIDTH - enemy_size), 0]) for enemy in enemies[:]: enemy[1] += enemy_speed if enemy[1] > HEIGHT: enemies.remove(enemy) for bullet in bullets[:]: if (bullet[0] > enemy[0] and bullet[0] < enemy[0] + enemy_size) and \ (bullet[1] > enemy[1] and bullet[1] < enemy[1] + enemy_size): enemies.remove(enemy) bullets.remove(bullet) score += 1 # Draw player pygame.draw.rect(screen, BLUE, (player_x, player_y, player_size, player_size)) # Draw bullets for bullet in bullets: pygame.draw.rect(screen, WHITE, (bullet[0], bullet[1], bullet_size, bullet_size)) # Draw enemies for enemy in enemies: pygame.draw.rect(screen, RED, (enemy[0], enemy[1], enemy_size, enemy_size)) # Display score score_text = font.render(f"Score: {score}", True, WHITE) screen.blit(score_text, (10, 10)) # Update display pygame.display.flip() clock.tick(30) frame_count += 1 pygame.quit()
Editor is loading...
Leave a Comment