# tower-defense **Repository Path**: style7en/tower-defense ## Basic Information - **Project Name**: tower-defense - **Description**: 三消塔防html无尽版 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: 游戏, 塔防, 三消塔防 ## README # 三消塔防无尽版 一款结合三消合成机制的塔防游戏,支持无尽模式挑战。提供 **Web 版**(开箱即玩)和 **C 语言桌面版** 两个版本。 ## 🎮 快速开始 ### Web 版(推荐) 直接用浏览器打开 `index.html` 即可游玩,无需安装任何依赖。 ### 桌面版 参考下方编译说明自行编译。 ## 游戏目标 阻止怪物从左上角到达右下角,保护你的生命值(100 点)。怪物到达终点会扣除生命值,归零则游戏结束。 ## 游戏玩法 ### 放置防御塔 - 在地图空格上**点击**放置防御塔 - 按住鼠标**超过 0.5 秒**可拖拽预览塔的攻击范围 - 按**空格键**切换攻击塔 / 减速塔 ### 塔的类型 | 类型 | 形状 | 特点 | |------|------|------| | **攻击塔** | 圆形 | 单体攻击,伤害较高 | | **减速塔** | 圆角方形 | 范围攻击,降低敌人移动速度 | ### 塔的合成升级 - 3 个或更多**相邻**(上下左右)且**相同等级、相同类型**的塔会自动合成 - 合成后等级 +1,攻击力 = 最高攻击力 × 消耗数量,范围同步提升 - 等级上限为 6 级(金色塔) ### 怪物与波次 - 每波有多个怪物,血量随波次增加 - 每 **10 波**会出现 Boss 怪物(血量为当前波次小怪总和的 1.5 倍) - 怪物到达终点会扣除生命值 ## 操作说明 ### 游戏控制 | 操作 | 功能 | |------|------| | 点击地图空格 | 放置防御塔 | | 长按已放置的塔 | 预览攻击范围 | | 空格键 | 切换攻击塔 / 减速塔 | | 点击已有塔 | 查看属性或删除 | ### 功能按钮 | 按钮 | 功能 | |------|------| | 重新开始 | 重置游戏 | | 下一波 | 立即开始下一波 | | 倍速 | 切换 1/2/4/8 倍速 | | 暂停 | 暂停 / 继续游戏 | | 深色 / 浅色 | 切换主题 | | 玩法说明 | 查看游戏帮助 | ## 胜利条件 成功抵御 **100 波**进攻后游戏暂停,可选择: - **进入无尽模式**:继续挑战更高波次 - **结束游戏**:结束当前游戏 ## 存档 游戏自动保存进度到浏览器本地存储,刷新或关闭页面后可继续游戏。 ## 技术栈 ### Web 版 - **语言**:原生 HTML + CSS + JavaScript(ES6) - **渲染**:Canvas 2D - **存储**:LocalStorage ### 桌面版(C 语言) - **语言**:C(C11 标准) - **框架**:Win32 API + GDI+ - **构建**:CMake - **编译器**:MinGW-w64 / MSVC ## 编译说明(桌面版) ### 环境要求 - Windows 操作系统 - MinGW-w64 或 MSVC 编译器 - CMake 3.15+ ### 编译步骤 ```bash cd clang mkdir build && cd build cmake .. -G "MinGW Makefiles" # 或 -G "Visual Studio 17 2022" mingw32-make ``` 编译完成后,可执行文件位于 `clang/build/bin/tower-defense.exe`。 ## 项目结构 ``` tower-defense/ ├── index.html # Web 版(单文件,开箱即玩) ├── clang/ # C 语言桌面版 │ ├── CMakeLists.txt # CMake 构建配置 │ ├── src/ │ │ ├── main.c # 入口及窗口管理 │ │ ├── game.c/h # 游戏核心逻辑 │ │ ├── render.c/h # 渲染引擎 │ │ ├── tower.c/h # 防御塔逻辑 │ │ ├── monster.c/h # 怪物逻辑 │ │ └── ui.c/h # 用户界面 │ └── build/ # 编译输出目录 │ └── bin/ # 可执行文件 ``` ## 许可证 本项目仅供学习交流使用。