一款充满挑战的 Python + Pygame 塔防游戏,策略性地放置防御塔,击退源源不断的怪物浪潮!
🏰 9 种独特防御塔
每种塔都有不同的攻击方式与两条升级路线,需要你精心选择与升级。
🎯 10+ 种怪物类型
从基础小兵到终极 Boss,每种怪物都有独特的属性与特殊能力。
🗺️ 多种游戏地图
Classic(经典蛇形)与 Twisty Towers(复杂多转折)两大地图考验你的防御策略。
⚙️ 多难度设置
Easy(简单)、Medium(中等)、Hard(困难)三档难度,满足不同技能玩家。
💾 自动存档系统
每波结束自动保存进度,支持继续游戏功能。
🎨 高清 UI 与音效
专业的界面设计与背景音乐,沉浸式游戏体验。
- Python 3.8 或更高版本
- Pygame 2.5.2
# 1. 克隆仓库
git clone <your-repo-url>
cd 史莱姆狂潮:最后的防线
# 2. 安装依赖
pip install -r requirements.txt
# 3. 运行游戏
python main.py或 使用虚拟环境(推荐):
python -m venv .venv
.\.venv\Scripts\activate # Windows
source .venv/bin/activate # macOS/Linux
pip install -r requirements.txt
python main.py- 🛡️ 防止怪物到达终点
- 💰 管理有限的现金资源
- 🌊 生存尽可能多的波次
| 元素 | 说明 |
|---|---|
| 现金 💵 | 通过击杀怪物和升级获得,用于购买与升级防御塔 |
| 生命值 ❤️ | 初始 100,000,每只怪物到达终点扣除相应血量 |
| 防御塔 | 9 种塔可选,每种有 2 条升级路线 |
| 怪物波次 | 无限波次,难度随波数递增 |
| 按键 | 功能 |
|---|---|
| 左键 | 选择塔、放置塔、激活技能 |
| Shift/Ctrl + 左键 | 快速连续放置相同塔 |
| 空格键 | 切换游戏速度(1x → 2x → 暂停) |
| 右键 | 删除已放置的塔 |
📦 史莱姆狂潮:最后的防线
├── 📄 main.py # 游戏主循环
├── 📄 mainMenu.py # 菜单与设置
├── 📄 tower.py # 防御塔与投射物
├── 📄 monsters.py # 怪物逻辑
├── 📄 waves.py # 波次生成
├── 📂 assets/ # 游戏资源
│ ├── 📂 images/ # 游戏图片
│ ├── 📂 audio/ # 背景音乐与音效
│ └── 📂 fonts/ # 游戏字体
├── 📂 data/ # 数据与文档
│ ├── 📂 saves/ # 用户存档
│ └── 📂 docs/ # 游戏说明
├── 📄 requirements.txt # Python 依赖
├── 📄 .gitignore # Git 忽略规则
└── 📄 README.md # 详细文档
| 塔名 | 成本 | 攻击方式 | 特点 |
|---|---|---|---|
| 🔴 飞镖塔 | 100 | 单体快速攻击 | 基础防御,高射速 |
| 🔵 忍者塔 | 200 | 投掷飞镖 | 隐身检测,穿透力强 |
| 🟡 火焰塔 | 300 | 范围燃烧 | 点燃敌人,持续伤害 |
| 🔷 冰塔 | 400 | 冰冻减速 | 控制能力,可减速敌人 |
| ⚫ 爆炸工厂 | 500 | 随机爆炸 | 群伤能力,可混乱敌人 |
| 💚 金钱塔 | 600 | 产出金币 | 经济收益,辅助塔 |
| 💜 回旋塔 | 700 | 圆周运动 | 范围伤害,高爆发 |
| 💙 超级塔 | 1500 | 综合强力 | 终极防御,全能型 |
| 🖤 炮塔 | 300 | 单体轰击 | 高伤害,低射速 |
| 怪物 | 速度 | 特殊能力 |
|---|---|---|
| 红色 | ⭐ | 无 |
| 蓝色 | ⭐⭐ | 无 |
| 绿色 | ⭐⭐⭐ | 无 |
| 黄色 | ⭐⭐⭐⭐ | 无 |
| 粉色 | ⭐⭐⭐⭐⭐ | 无 |
| 黑色 | ⭐⭐ | 死亡分裂(→ 粉色 × 2) |
| 铅色 | ⭐ | 仅火焰/冰塔可击杀 |
| 紫色 | ⭐⭐ | 死亡分裂(→ 绿色精英 × 4) |
| 🟢 精英怪 | ⭐ | 血量厚(3 HP) |
| 👹 Boss | ⭐ | 血量极厚(10 HP),死亡分裂 × 4 |
- 从 Easy 难度开始熟悉游戏机制
- 优先建造快速塔(飞镖塔)进行防御
- 早期积累资金,为中期升级做准备
- 观察怪物类型,针对性地选择防御塔
- 🎯 利用塔的两条升级路线打造不同的防御体系
- 💰 平衡防御投入与经济产出(金钱塔的价值)
- 🗺️ 根据地图特性设计最优防御阵地
- ⚡ 在高难度下学会使用技能进行反转局面
- 语言:Python 3.8+
- 游戏引擎:Pygame 2.5.2
- 开发环境:VS Code
- 版本控制:Git & GitHub
pygame==2.5.2
查看 requirements.txt 获取完整依赖列表。
Q: 无法导入 pygame?
A: 确保已安装依赖:pip install -r requirements.txt
Q: 游戏运行卡顿?
A: 这在高波次时很正常,可以尝试 Easy 难度或重启游戏。
Q: 存档在哪里?
A: 存档文件位于 data/saves/ 文件夹下。
遇到 Bug 或有功能建议?欢迎提交 Issue!
本项目展示了以下 Python 编程技能:
- ✅ 面向对象编程(OOP)
- ✅ 游戏循环与事件处理
- ✅ 文件操作与数据持久化
- ✅ 资源管理与路径处理
- ✅ 碰撞检测与物理计算
- ✅ UI 设计与用户交互
欢迎各种形式的贡献!
- 🐛 报告 Bug
- 💡 提出功能建议
- 📝 改进文档
- 🎨 美化界面或资源
本项目采用 MIT License,详见 LICENSE 文件。
👤 Winyee
- GitHub: @The-niceU
- Email: wei_yi@stu.scu.edu.cn
感谢所有贡献者、测试者以及 Pygame 社区的支持!
⭐ 如果喜欢这个项目,请给个 Star 吧!
