一个基于 Pygame 的纵版飞机射击小游戏(Python 3),支持鼠标 / 键盘操控、敌机弹幕、血量系统、道具补给、多等级难度与最高分记录。
- 开始界面:标题、一句介绍语、最高分与"开始游戏 / 设置"按钮
- 设置界面:6 个键位(上 / 下 / 左 / 右 / 炸弹 / 暂停)可重新绑定,鼠标操控开关,一键恢复默认,配置保存到
settings.json - 鼠标移动或键盘操控飞机
- 小、中、大三种敌机,击落有不同得分;中、大敌机会发射弹幕,大敌机三连发
- 玩家血量条:被敌弹命中 -10,被敌机撞击 -25,受伤后短暂无敌(闪烁提示)
- 补给道具:双倍子弹、全屏炸弹(带闪屏特效)
- 5 个难度等级,随得分逐步升级:增兵、提速、敌机射速加快
- 3 条生命,碰撞扣血,血量归零后重生
- 暂停 / 继续(按钮或设置的暂停键),最高分本地记录(
record.txt,自动创建) - 游戏结束后可"再来一次"直接重开,或点"结束游戏"返回开始界面
- 中文界面:优先使用打包的开源游戏字体"得意黑"(Smiley Sans,OFL 协议),缺失时自动回退系统字体,再无中文字体则显示英文界面
- 完整的音效与背景音乐
- Python 3.6+
- Pygame 2.0+
# 安装依赖
pip install -r requirements.txt
# 运行游戏
python main.py| 操作 | 按键 / 方式 |
|---|---|
| 移动飞机 | 鼠标移动,或 W / A / S / D(可在设置界面修改) |
| 释放炸弹 | Space(需先拾取炸弹补给,可在设置界面修改) |
| 暂停 / 继续 | Esc 或点击右上角暂停按钮(可在设置界面修改) |
| 打开设置 | 开始界面点击"设置"按钮 |
| 开始游戏 / 退出 | 开始界面点击"开始游戏",Esc 退出 |
.
├── main.py # 游戏主程序(开始界面 / 设置界面 / 游戏主循环 / 结束界面)
├── config.py # 键位与选项设置(settings.json 读写)
├── myplane.py # 我方飞机(含血量)
├── enemy.py # 敌方飞机(小 / 中 / 大,可射击)
├── bullet.py # 子弹(我方子弹 / 敌方子弹)
├── supply.py # 补给道具
├── images/ # 游戏图片资源
├── sound/ # 音效与背景音乐
├── font/ # 字体文件(含打包的游戏字体"得意黑")
└── record.txt # 最高分记录(自动生成)
界面优先使用打包的开源字体得意黑(Smiley Sans),采用 SIL Open Font License 1.1 协议,作者 atelier-anchor,可从 GitHub 获取。字体缺失时自动回退系统中文字体,请确保运行环境保留对应的字体授权。
游戏原版及素材(图片、音效)出自小甲鱼《零基础入门学习 Python》系列课程的"飞机大战"教学案例,感谢原作者。