diff --git a/list.md b/list.md index f2f223c..c156894 100644 --- a/list.md +++ b/list.md @@ -1,110 +1,53 @@ -# 项目开发阶段划分 - -本项目可以按开发过程拆分为 6 个阶段完成,符合“分阶段实现程序”的写法,也便于后续直接写入实验报告。 +# 函数 TODO 分阶段清单 ## 第一阶段:窗口创建与程序框架搭建 -本阶段需要完成的内容: +简要说明:完成程序入口、主窗口创建、消息循环和基础对话框处理。 -- 创建 Windows 程序入口。 -- 注册窗口类并创建主窗口。 -- 建立消息循环和基础消息处理机制。 -- 完成程序启动、关闭、重绘等基础框架。 -- 为后续游戏逻辑和绘图模块提供运行环境。 +- [ ] `_tWinMain` - `src/Tetris.cpp` +- [ ] `MyRegisterClass` - `src/Tetris.cpp` +- [ ] `InitInstance` - `src/Tetris.cpp` +- [ ] `WndProc` - `src/Tetris.cpp` +- [ ] `About` - `src/Tetris.cpp` -本阶段目标: +## 第二阶段:游戏区域与状态初始化 -- 程序能够成功启动。 -- 能显示游戏主窗口。 -- 窗口能正常响应关闭和刷新操作。 +简要说明:完成游戏初始状态建立和重新开始相关逻辑。 -## 第二阶段:游戏区域与方块数据结构设计 +- [ ] `Restart` - `src/TetrisLogic.cpp` -本阶段需要完成的内容: +## 第三阶段:方块生成、移动与旋转 -- 定义游戏区域的宽度、高度和网格大小。 -- 设计方块坐标结构和不同类型方块的数据表示方式。 -- 建立游戏地图数组,用于保存已落地方块状态。 -- 定义当前方块、下一方块、分数、暂停、结束标志等全局状态。 -- 准备颜色数据和基础常量。 +简要说明:完成方块的基础操作,包括下落、左右移动、旋转和快速到底。 -本阶段目标: +- [ ] `MoveDown` - `src/TetrisLogic.cpp` +- [ ] `MoveLeft` - `src/TetrisLogic.cpp` +- [ ] `MoveRight` - `src/TetrisLogic.cpp` +- [ ] `Rotate` - `src/TetrisLogic.cpp` +- [ ] `DropDown` - `src/TetrisLogic.cpp` -- 程序内部具备完整的游戏状态表示能力。 -- 可以为后续方块运动和碰撞判断提供数据基础。 +## 第四阶段:碰撞检测与方块固定 -## 第三阶段:方块生成、移动与旋转功能 +简要说明:完成越界判断、碰撞检测、方块落地固定和结束判定。 -本阶段需要完成的内容: - -- 实现新方块生成。 -- 实现方块自动下落。 -- 实现左移、右移操作。 -- 实现方块旋转。 -- 实现快速下落或直接落到底部的功能。 -- 保证键盘输入可以正确控制当前方块。 - -本阶段目标: - -- 方块可以正常出现。 -- 玩家可以通过键盘控制方块移动和旋转。 -- 方块运动过程符合基本游戏规则。 - -## 第四阶段:碰撞检测与方块固定逻辑 - -本阶段需要完成的内容: - -- 判断方块是否可以继续下落。 -- 判断方块左右移动时是否越界或与已有方块冲突。 -- 判断旋转后是否发生重叠或越界。 -- 当方块落到底部或接触已有方块时,将其固定到游戏区域中。 -- 实现游戏结束判定。 - -本阶段目标: - -- 方块不会穿过边界。 -- 方块不会与已固定方块错误重叠。 -- 游戏在堆叠到顶部时能够正确结束。 +- [ ] `CanMoveDown` - `src/TetrisLogic.cpp` +- [ ] `CanMoveLeft` - `src/TetrisLogic.cpp` +- [ ] `CanMoveRight` - `src/TetrisLogic.cpp` +- [ ] `Fixing` - `src/TetrisLogic.cpp` +- [ ] `GameOver` - `src/TetrisLogic.cpp` ## 第五阶段:消除逻辑与分数系统 -本阶段需要完成的内容: +简要说明:完成消行、行下移和得分更新等核心反馈机制。 -- 检测某一行是否已被填满。 -- 实现整行消除。 -- 在消除后更新上方方块数据。 -- 设计分数统计规则。 -- 在界面中显示当前分数或游戏状态。 +- [ ] `DeleteOneLine` - `src/TetrisLogic.cpp` +- [ ] `DeleteLines` - `src/TetrisLogic.cpp` -本阶段目标: +## 第六阶段:界面绘制与扩展功能 -- 玩家完成满行后可以正确消除。 -- 分数能够随着游戏进展更新。 -- 游戏具备基本反馈机制。 +简要说明:完成游戏界面绘制,并实现落点预测等增强功能。 -## 第六阶段:界面完善与创新功能扩展 - -本阶段需要完成的内容: - -- 完善游戏界面绘制效果。 -- 显示下一个方块、暂停状态、结束提示等信息。 -- 加入资源文件,如图标、菜单、关于框。 -- 优化构建脚本和工程配置,确保项目可稳定运行。 -- 根据课程设计要求加入创新功能。 - -可选创新功能示例: - -- 预览下一方块 -- 阴影落点提示 -- 暂停与继续 -- 重新开始 -- 难度提升 -- 背景图或界面美化 -- 音效或动画效果 - -本阶段目标: - -- 程序界面更加完整。 -- 功能更加接近完整游戏。 -- 项目达到课程大作业展示要求。 +- [ ] `ComputeTarget` - `src/TetrisLogic.cpp` +- [ ] `TDrawScreen` - `src/TetrisRender.cpp` +## 第七阶段:创新扩展 \ No newline at end of file