本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
2D 俯视角「肉鸽幸存者」:纯走位 + 自动战斗,一局一构筑,局外天赋成长。由 Python + Pygame 实现,音效与 BGM 全部由 numpy 程序合成,零外部素材依赖。
二、项目功能
1.特性
6 位可选角色,各具初始属性、初始武器、被动与专属技能(含「刺客·影步」「爆破手·连锁爆破」等机制型角色);
25 种武器、23 种被动能力,支持多重射击、贯穿、弹射、召唤、陷阱等构筑;
武器进化合成:特定武器升到要求等级后自动合成质变(如「闪电箭」+「落雷」→「风暴使者」),并附屏幕震屏演出;
8 元素 × 三层状态机,含燃烧 / 感电 / 减速 / 中毒 / 净化 / 暗蚀与复合反应(融化、冻结、超载、共鸣);
10 种敌人 + 6 词缀精英系统(铁壁 / 疾风 / 分裂 / 光环 / 自爆 / 再生);
6 位差异化 Boss,三阶段强化,技能组各不相同;
3 个主题关卡(暮色森林 / 灼热荒漠 / 冰霜平原),各有地形危害,通关依次解锁;
装备与 13 套套装系统:2 件激活套装核心,品质档位(普通/远古)解锁进阶;
局内商店 + 4 类随机事件;
局外天赋树:4 大系、20 个节点,星尘永久加点;
战绩统计:击杀 / Boss / 精英 / 输出 / 受击 / 资源等全程记录并结算展示;
小地图(M 键)、属性面板(Tab 键)、帮助界面、按键自定义;
程序合成音效与五主题 BGM(菜单 / 森林 / 荒漠 / 冰原 / Boss),无需外部音频文件。
2.使用说明
主菜单依次为:开始游戏 / 游戏帮助 / 游戏设置 / 退出游戏;帮助界面内含完整操作说明与玩法提示。
选人 → 选关卡 → 开战。存活到关卡 clear_time 即通关,按表现掉落星尘/金币并解锁下一关卡。
设置中的按键自定义可重绑移动 / 冲刺 / 商店 / 属性面板等按键。
3.操作一览
动作 默认按键 说明
移动 W / A / S / D 或方向键 四方向行走
冲刺 空格 朝方向突进并短暂无敌,冷却 1.5s
商店 Q 打开局内商店(购买 / 刷新)
确认 E / 回车 界面通用确认、升级选择
属性面板 Tab 查看武器 / 能力 / 属性 / 装备详情
暂停 / 返回 Esc 暂停菜单与通用返回键
小地图 M 开关右上角地图
快捷选择 1 – 5 升级 / 商店 / 事件快速选中
刷新 R 商店 / 掉落重掷
武器均为自动攻击,不做键位占用,专注走位即可。
4.内容一览
类别 内容
角色 骑士 / 法师 / 游侠 / 富商 / 刺客 / 爆破手(专属技能各不相同)
武器 25 种(弹幕·近战·召唤·激光·陷阱·陨石…),最高 12 级
被动 23 种(生存 / 护盾 / 输出 / 元素 / 资源五系)
敌人 10 种 + 精英词缀(双词缀·六种效果)
Boss 6 位,三阶段技能强化
关卡 暮色森林(180s)→ 灼热荒漠(210s)→ 冰霜平原(240s)
难度 简单 / 普通 / 困难(影响敌血·伤害·生成速度·金币)
套装 13 套,2 件激活核心,品质档位进阶
事件 神秘祭坛 / 流浪商人 / 诅咒祭坛 / 混沌漩涡
天赋 4 大系(战斗·生存·财富·秘术)× 5 节点
配置持久化 窗口 / 全屏 / 音量 / 亮度 / 按键绑定(config.json)
三、运行环境
开发环境pycharm
运行环境 python3.10
四、项目技术
Python 3.10+
pygame ≥ 2.6.1
numpy ≥ 2.0
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图