python小游戏代码飞机大战
下面是一个简单的飞机大战游戏的Python代码:
import pygame
import random
# 初始化游戏
pygame.init()
# 设置游戏窗口大小
screen_width = 480
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置游戏标题
pygame.display.set_caption("飞机大战")
# 加载背景图片
background = pygame.image.load("background.png")
# 加载玩家飞机图片
player_img = pygame.image.load("player.png")
player_width = player_img.get_width()
player_height = player_img.get_height()
player_x = (screen_width - player_width) // 2
player_y = screen_height - player_height - 20
# 加载敌机图片
enemy_img = pygame.image.load("enemy.png")
enemy_width = enemy_img.get_width()
enemy_height = enemy_img.get_height()
enemy_x = random.randint(0, screen_width - enemy_width)
enemy_y = -enemy_height
enemy_speed = 3
# 设置玩家飞机的移动速度
player_speed = 5
# 设置游戏循环
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] and player_x > 0:
player_x -= player_speed
if keys[pygame.K_RIGHT] and player_x < screen_width - player_width:
player_x += player_speed
if keys[pygame.K_UP] and player_y > 0:
player_y -= player_speed
if keys[pygame.K_DOWN] and player_y < screen_height - player_height:
player_y += player_speed
# 更新敌机位置
enemy_y += enemy_speed
if enemy_y > screen_height:
enemy_x = random.randint(0, screen_width - enemy_width)
enemy_y = -enemy_height
# 检测碰撞
if player_x < enemy_x + enemy_width and player_x + player_width > enemy_x and player_y < enemy_y + enemy_height and player_y + player_height > enemy_y:
running = False
# 绘制游戏画面
screen.blit(background, (0, 0))
screen.blit(player_img, (player_x, player_y))
screen.blit(enemy_img, (enemy_x, enemy_y))
pygame.display.update()
# 游戏结束
pygame.quit()
请注意,上述代码中的background.png
、player.png
和enemy.png
是游戏所需的背景图片、玩家飞机图片和敌机图片,你需要将它们放在与代码文件相同的目录下,并确保文件名正确。此外,你还需要安装pygame
库来运行这个游戏,你可以使用以下命令来安装:
pip install pygame
这只是一个简单的飞机大战游戏示例,你可以根据自己的需求进行修改和扩展。
当玩家飞机与敌机发生碰撞时,游戏会结束。你可以根据需要添加更多的游戏逻辑,例如计分、子弹、道具等。
以下是一些可能的扩展:
计分系统:在游戏中添加一个计分系统,每次玩家击败一个敌机时,增加玩家的得分。
子弹系统:让玩家飞机能够发射子弹,击中敌机时能够消灭敌机。
敌机多样化:添加不同类型的敌机,它们的速度、血量和攻击方式可能不同。
道具系统:在游戏中添加一些道具,例如增加玩家生命值、提升玩家飞机的攻击力等。
关卡系统:设计多个关卡,每个关卡的敌机数量和难度逐渐增加。
音效和音乐:为游戏添加背景音乐和音效,增强游戏的氛围。
游戏界面优化:美化游戏界面,添加游戏开始和结束的界面,增加游戏的可玩性和吸引力。
这些只是一些扩展的想法,你可以根据自己的创意和编程能力来扩展和完善这个飞机大战游戏。祝你编程愉快!