2.8 KiB
2.8 KiB
数独游戏详细需求
游戏规则与范围
棋盘由 9 行、9 列组成,分为 9 个 3×3 宫。将空格填入 1–9,使每行、每列、每宫中的数字均不重复。初始数字不可修改。只有全部填满且满足规则才算完成;填满但有冲突不能判胜。
使用提供的固定题库即可,不要求随机生成数独或编写求解器。题库中的 0 表示空格,不能作为玩家填写的数字。
必须实现的功能
| 编号 | 需求 | 可以检查的结果 |
|---|---|---|
| R1 | 选择题目并开始游戏 | 能选择题库中的不同题目,正确显示 9×9 棋盘和 3×3 宫边界,能区分初始数字与玩家填写的数字 |
| R2 | 选格、填数、修改与擦除 | 仅空白起始格可编辑;可输入 1–9、替换已填数字或擦除;初始数字始终不可修改 |
| R3 | 冲突检查 | 对玩家数字与同行、同列或同宫数字重复的情况给出明确反馈;可实时检查或通过“检查”按钮触发;修改或擦除后能更新结果 |
| R4 | 判断完成 | 全部填满且无冲突时明确提示完成;有空格或存在冲突时不能判胜 |
| R5 | 重新开始与换题 | 重新开始当前题,以及从正在进行的题目切换到另一题时,都需确认;确认后清除当前玩家填写,载入对应初始棋盘;取消则保留当前题与进度 |
| R6 | 保存当前进度 | 保存当前题目及玩家填写;彻底退出、重新启动后恢复。修改、擦除、重新开始和换题的结果也要保存 |
只需保留当前一局,不要求保存每道题的独立进度。重新打开 App 不应自动清空棋盘;完成后重新打开仍应显示已完成的棋盘或完成状态。
边界行为
- 没有选中格子或选中初始数字时,输入与擦除不改变棋盘。
- 只允许填写 1–9;采用数字键盘或屏幕按钮均可,其他输入不得造成非法数据或崩溃。
- 检查重复时忽略空格,并排除格子自身;不能把“不重复但尚未证明正确”直接当成完成。
- 首次启动无保存记录时能正常选题或进入默认题;重新开始、换题与继续当前局应有清楚区分。
功能检查示例
选一题 → 尝试修改初始数字(应无效)→ 填入一个会重复的数字并检查 → 修改或擦除,反馈随之更新 → 退出并重新启动,题目及填写恢复 → 重新开始但取消,进度保留 → 确认重新开始,只保留初始数字 → 换题并重启,恢复新题。
另外检查一次合法完成,并验证“填满但有冲突”不会误判完成。可用接近完成的棋盘进行检查,完成提示应由真实棋盘状态触发。
可选扩展
计时、笔记候选数、撤销、提示、难度分级、随机出题、动画等均不要求。先完成基础需求,再按兴趣扩展。