text.txt
Shooting gameunknown
python
25 days ago
2.4 kB
1
Indexable
import pygame import random import sys # Initialize pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Alien Blaster: Battle Zone") clock = pygame.time.Clock() font = pygame.font.SysFont(None, 36) # Colors WHITE = (255, 255, 255) RED = (255, 0, 0) # Load Player player_img = pygame.Surface((50, 50)) player_img.fill((0, 255, 0)) player_rect = player_img.get_rect(center=(WIDTH//2, HEIGHT - 60)) # Bullets bullets = [] # Enemies enemies = [] enemy_img = pygame.Surface((40, 40)) enemy_img.fill((255, 0, 0)) # Score score = 0 def spawn_enemy(): x = random.randint(0, WIDTH - 40) rect = enemy_img.get_rect(topleft=(x, -40)) enemies.append(rect) SPAWN_EVENT = pygame.USEREVENT + 1 pygame.time.set_timer(SPAWN_EVENT, 1000) # every 1 sec # Main Game Loop running = True while running: screen.fill((10, 10, 30)) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == SPAWN_EVENT: spawn_enemy() if event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: bullet = pygame.Rect(player_rect.centerx - 2, player_rect.top, 5, 10) bullets.append(bullet) # Move Player keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and player_rect.left > 0: player_rect.x -= 6 if keys[pygame.K_RIGHT] and player_rect.right < WIDTH: player_rect.x += 6 # Move Bullets for bullet in bullets[:]: bullet.y -= 10 if bullet.bottom < 0: bullets.remove(bullet) # Move Enemies for enemy in enemies[:]: enemy.y += 5 if enemy.top > HEIGHT: enemies.remove(enemy) # Collision for bullet in bullets[:]: for enemy in enemies[:]: if bullet.colliderect(enemy): bullets.remove(bullet) enemies.remove(enemy) score += 10 break # Draw player screen.blit(player_img, player_rect) # Draw bullets for bullet in bullets: pygame.draw.rect(screen, WHITE, bullet) # Draw enemies for enemy in enemies: screen.blit(enemy_img, enemy) # Draw score score_text = font.render(f"Score: {score}", True, WHITE) screen.blit(score_text, (10, 10)) pygame.display.update() clock.tick(60)
Editor is loading...
Leave a Comment