下面是一个简单的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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录