写一个pygame枪战小游戏
下面是一个简单的pygame枪战小游戏的示例代码:
import pygame
import random
# 初始化游戏
pygame.init()
# 设置游戏窗口
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Gun Battle Game")
# 加载玩家图片
player_image = pygame.image.load("player.png")
player_rect = player_image.get_rect()
player_rect.center = (width // 2, height // 2)
# 加载敌人图片
enemy_image = pygame.image.load("enemy.png")
enemy_rect = enemy_image.get_rect()
enemy_rect.center = (random.randint(50, width - 50), random.randint(50, height - 50))
# 加载子弹图片
bullet_image = pygame.image.load("bullet.png")
bullet_rect = bullet_image.get_rect()
# 设置游戏循环
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 移动玩家
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_rect.x -= 5
if keys[pygame.K_RIGHT]:
player_rect.x += 5
if keys[pygame.K_UP]:
player_rect.y -= 5
if keys[pygame.K_DOWN]:
player_rect.y += 5
# 发射子弹
if keys[pygame.K_SPACE]:
bullet_rect.center = (player_rect.centerx, player_rect.centery - 10)
bullet_speed = 10
bullet_active = True
# 移动子弹
if bullet_active:
bullet_rect.y -= bullet_speed
if bullet_rect.y < 0:
bullet_active = False
# 检测碰撞
if player_rect.colliderect(enemy_rect):
running = False
if bullet_rect.colliderect(enemy_rect):
enemy_rect.center = (random.randint(50, width - 50), random.randint(50, height - 50))
bullet_active = False
# 绘制游戏界面
screen.fill((0, 0, 0))
screen.blit(player_image, player_rect)
screen.blit(enemy_image, enemy_rect)
if bullet_active:
screen.blit(bullet_image, bullet_rect)
pygame.display.flip()
# 退出游戏
pygame.quit()
这个示例代码中,玩家使用键盘上的方向键控制移动,按下空格键发射子弹。当玩家和敌人碰撞时游戏结束,同时当子弹击中敌人时敌人会重新生成在随机位置上。你需要将玩家、敌人和子弹的图片文件(player.png、enemy.png和bullet.png)放在与代码文件同一目录下,并确保安装了pygame库
原文地址: https://www.cveoy.top/t/topic/h0UE 著作权归作者所有。请勿转载和采集!