Untitled
unknown
plain_text
a year ago
2.7 kB
3
Indexable
import pygame import random import sys # Initialize Pygame pygame.init() # Set up the screen WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Shooting Game") # Colors WHITE = (255, 255, 255) RED = (255, 0, 0) # Player player_img = pygame.image.load("player.png") player_img = pygame.transform.scale(player_img, (50, 50)) player_rect = player_img.get_rect() player_rect.centerx = WIDTH // 2 player_rect.bottom = HEIGHT - 10 PLAYER_SPEED = 5 # Bullet bullet_img = pygame.image.load("bullet.png") bullet_img = pygame.transform.scale(bullet_img, (10, 30)) bullets = [] BULLET_SPEED = -10 # Enemy enemy_img = pygame.image.load("enemy.png") enemy_img = pygame.transform.scale(enemy_img, (50, 50)) enemies = [] ENEMY_SPEED = 3 ENEMY_SPAWN_RATE = 60 # Spawn new enemy every 60 frames # Fonts font = pygame.font.Font(None, 36) # Game variables score = 0 # Game loop running = True clock = pygame.time.Clock() while running: screen.fill(WHITE) # Handle events for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: bullet_rect = bullet_img.get_rect() bullet_rect.centerx = player_rect.centerx bullet_rect.bottom = player_rect.top bullets.append(bullet_rect) # Move player keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: player_rect.x -= PLAYER_SPEED if keys[pygame.K_RIGHT]: player_rect.x += PLAYER_SPEED # Spawn enemies if random.randint(0, ENEMY_SPAWN_RATE) == 0: enemy_rect = enemy_img.get_rect() enemy_rect.x = random.randint(0, WIDTH - enemy_rect.width) enemy_rect.y = -enemy_rect.height enemies.append(enemy_rect) # Move and draw bullets for bullet in bullets: bullet.y += BULLET_SPEED screen.blit(bullet_img, bullet) # Move and draw enemies for enemy in enemies: enemy.y += ENEMY_SPEED screen.blit(enemy_img, enemy) # Collision detection for bullet in bullets[:]: for enemy in enemies[:]: if bullet.colliderect(enemy): bullets.remove(bullet) enemies.remove(enemy) score += 1 # Draw player screen.blit(player_img, player_rect) # Draw score score_text = font.render(f"Score: {score}", True, RED) screen.blit(score_text, (10, 10)) # Update the display pygame.display.flip() # Cap the frame rate clock.tick(60) # Quit Pygame pygame.quit() sys.exit()
Editor is loading...
Leave a Comment