# towerDefence
**Repository Path**: putaoZT/tower-defence
## Basic Information
- **Project Name**: towerDefence
- **Description**: 塔防游戏
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2026-03-24
- **Last Updated**: 2026-03-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Pixel Defense - 像素塔防游戏




一款基于浏览器的像素风格塔防游戏,使用纯前端技术实现,支持 PWA 离线运行。
[在线演示](#) | [文档](./doc-cc/README.md) | [开发计划](./doc-cc/06-开发计划.md)
## 📸 游戏截图
### 主菜单

### 关卡选择

### 战斗界面

## 🎮 游戏特性
### 核心玩法
- **6种防御塔**:弓箭塔、魔法塔、炮塔、冰霜塔、电击塔、毒素塔
- **9种敌人类型**:小兵、快速兵、重甲兵、魔抗兵、飞行兵、自爆兵、召唤师、BOSS、精英BOSS
- **10个精心设计的关卡**:逐步解锁,难度递增
- **塔升级系统**:每种塔可升级至5级,获得更强能力和特效
- **技能系统**:5种主动技能(陨石、火焰风暴、冰冻、加速、护盾)
### 扩展功能
- **30+成就系统**:进度、战斗、建造、隐藏成就
- **每日挑战**:5种挑战类型,每日刷新
- **无尽模式**:无限波次生存挑战
- **本地存档**:IndexedDB + localStorage 自动保存
### 技术特点
- 🎨 复古像素美术风格
- ⚡ 60 FPS 流畅运行
- 💾 PWA 支持,可离线运行
- 📱 响应式设计,支持桌面和移动端
## 🚀 快速开始
### 环境要求
- Node.js 18+
- npm 或 yarn
### 安装依赖
```bash
npm install
```
### 开发模式
```bash
npm run dev
```
访问 http://localhost:3000
### 构建生产版本
```bash
npm run build
```
构建产物位于 `dist/` 目录。
## 📁 项目结构
```
towerDefense/
├── src/
│ ├── assets/ # 静态资源
│ │ ├── sprites/ # 精灵图
│ │ ├── audio/ # 音效
│ │ └── fonts/ # 字体
│ ├── config/ # 配置文件
│ │ ├── towers.json # 塔配置
│ │ ├── enemies.json # 敌人配置
│ │ ├── skills.json # 技能配置
│ │ ├── levels.json # 关卡配置
│ │ └── achievements.json # 成就配置
│ ├── core/ # 核心引擎
│ │ ├── Game.ts # 游戏主类
│ │ ├── Scene.ts # 场景管理
│ │ ├── Renderer.ts # 渲染器
│ │ ├── Input.ts # 输入处理
│ │ ├── Audio.ts # 音频管理
│ │ └── Timer.ts # 时间管理
│ ├── entities/ # 游戏实体
│ │ ├── Tower.ts # 塔基类
│ │ ├── towers/ # 具体塔实现
│ │ ├── Enemy.ts # 敌人基类
│ │ ├── enemies/ # 具体敌人实现
│ │ ├── Projectile.ts # 弹射物
│ │ └── Effect.ts # 特效
│ ├── systems/ # 游戏系统
│ │ ├── WaveSystem.ts # 波次系统
│ │ ├── EconomySystem.ts # 经济系统
│ │ ├── CombatSystem.ts # 战斗系统
│ │ ├── PathSystem.ts # 路径系统
│ │ └── SkillSystem.ts # 技能系统
│ ├── ui/ # UI组件
│ │ ├── HUD.ts # 战斗UI
│ │ ├── Menu.ts # 菜单
│ │ └── Dialog.ts # 对话框
│ ├── managers/ # 管理器
│ │ ├── SaveManager.ts # 存档管理
│ │ └── AudioManager.ts # 音频管理
│ └── main.ts # 入口文件
├── public/ # 公共资源
├── doc-cc/ # 设计文档
├── package.json
├── tsconfig.json
└── vite.config.ts
```
## 🎯 游戏玩法
### 防御塔介绍
| 塔类型 | 特点 | 适合目标 |
|--------|------|----------|
| 🏹 弓箭塔 | 高攻速,可穿透 | 通用输出 |
| 🔮 魔法塔 | 高伤破甲,溅射 | 重甲敌人 |
| 💣 炮塔 | AOE伤害,击退 | 密集怪群 |
| ❄️ 冰霜塔 | 减速控制 | 控场辅助 |
| ⚡ 电击塔 | 连锁伤害 | 多目标 |
| ☠️ 毒素塔 | 持续伤害 | 高血量敌人 |
### 敌人类型
| 敌人 | 特点 | 应对策略 |
|------|------|----------|
| 👹 小兵 | 基础单位 | 任意塔 |
| 🏃 快速兵 | 高移速 | 冰霜塔 |
| 🛡️ 重甲兵 | 高护甲 | 魔法塔 |
| 🧙 魔抗兵 | 高魔抗 | 弓箭塔 |
| 🦅 飞行兵 | 空中单位 | 弓箭/魔法塔 |
| 💥 自爆兵 | 死亡爆炸 | 远程塔 |
| 🧙♂️ 召唤师 | 召唤小怪 | 优先击杀 |
| 👿 BOSS | 超高血量 | 集火输出 |
### 操作方式
- **鼠标左键**:选择/确认
- **ESC**:暂停游戏
- **1x/2x/3x**:调整游戏速度
## 🛠️ 开发命令
```bash
# 开发
npm run dev
# 构建
npm run build
# 预览构建产物
npm run preview
# 代码检查
npm run lint
# 代码格式化
npm run format
```
## 📊 开发进度
- [x] P0: 项目初始化
- [x] P1: 核心引擎
- [x] P2: 实体系统
- [x] P3: 游戏系统
- [ ] P4: UI系统
- [ ] P5: 内容填充
- [ ] P6: 扩展功能
- [ ] P7: 优化发布
## 📄 许可证
MIT License
## 🙏 致谢
- 使用 [Vite](https://vitejs.dev/) 构建
- 使用 [TypeScript](https://www.typescriptlang.org/) 开发
- 像素素材来源于开源资源
---
Made with ❤️ by Claude Code