# TODO.md

## 1. 需求分析
- 游戏为三消玩法，消除元素支持自定义（图片、动画、属性、特效等）。
- 仅支持 Web 移动端（H5），适配主流移动浏览器。
- 关卡自动生成，且每关保证可通关。
- 所有资源（图片、音效、配置等）均本地 Web 加载，无需网络/CDN。
- 关卡编辑器可选，优先实现自动生成。

## 2. 技术选型
- 游戏引擎：优先选择 Cocos Creator（TypeScript/JavaScript）、PixiJS 或 Phaser，需支持2D动画、资源热加载、移动端适配。
- 配置管理：采用本地 JSON 文件描述消除元素属性、主题、关卡参数等。
- 资源管理：所有资源打包在 Web 项目内，按需加载。

## 3. 项目结构设计
- /assets/elements/：存放所有消除元素的图片、动画、音效等资源，按主题分类。
- /config/elements.json：定义所有消除元素的属性（ID、名称、图片路径、动画、分数、特效等）。
- /config/levelgen.json：关卡生成参数配置（如难度、元素种类、步数等）。
- /src/：核心游戏逻辑、关卡生成算法、UI、动画等代码。

## 4. 核心功能开发
- 游戏主循环与三消逻辑实现，支持自定义元素。
- 动态加载消除元素资源与配置。
- 消除元素的动画、特效、音效播放。
- 关卡自动生成算法，确保每关可通关（如递归回溯、模拟解法等）。
- 主题切换功能，自动替换相关资源。
- 数据本地存储（如 localStorage），保存进度。

## 5. 资源准备
- 设计并制作多套消除元素美术资源。
- 制作主题背景、UI、特效、音效等资源。
- 制定资源命名规范和目录结构。

## 6. 测试与优化
- 单元测试：三消逻辑、元素加载、关卡生成等核心模块。
- 兼容性测试：不同移动端浏览器、不同分辨率下的表现。
- 性能优化：资源加载、动画流畅度、内存管理。
- 用户体验测试：关卡难度、操作流畅性、视觉反馈。

## 7. 发布与运维
- 构建 Web 移动端安装包，适配主流移动浏览器。
- 所有资源本地打包，无需网络/CDN。
- 上线前回归测试，确保所有定制化功能可用。

---

IMPLEMENTATION CHECKLIST:
1. 明确游戏玩法和定制化需求，输出详细需求文档。
2. 选定 Web 游戏引擎和技术栈，初始化项目结构。
3. 设计消除元素的配置文件格式（如 elements.json），并实现解析与加载逻辑。
4. 搭建资源目录结构，导入首批自定义消除元素资源。
5. 实现三消核心玩法与消除逻辑，支持动态元素类型。
6. 实现消除元素的动画、特效、音效播放机制。
7. 开发主题切换功能，实现资源和配置的批量替换。
8. 实现关卡自动生成算法，确保每关可通关。
9. 实现关卡参数与元素配置的解耦，支持灵活扩展。
10. 完善本地数据存储机制，支持进度保存。
11. 进行单元测试、兼容性测试和性能优化。
12. 准备多套美术、音效等资源，完善资源管理流程。
13. 构建并发布 Web 移动端版本，确保所有资源本地加载。
14. 上线前进行全面回归测试，确保定制化功能无误。 