C++实现数独(Sudoku)游戏[2024-09-26]

C++实现数独(Sudoku)游戏[2024-09-26]

一、数独(Sudoku)游戏规则
在一个99的格子矩阵中,每行9个格子,每列也是9个格子;每33的格子称为宫,共9宫。在99的格子中,已知给出部分格子的数值,剩余格子中的数值需要玩家通过逻辑推理给出,题目的解必须是存在且唯一的,全部81个格子的数值都给出,那么解题成功。这里的填充规则要求:在99的格子中,9行中的每行、9列中的每列、9宫中的每宫,都是由1到9的数值组成,且不重复即每行、每列、每宫的9个数都必须是1到9的一个排列。

二、功能描述
设计开发一个控制台界面的数独游戏。游戏中,可以选择题目库中的数独题也可以自定义一个新的数独题。显示时,若每个格子的数值还未确定,那么该格子可显示1个或多个候选数。用户通过交互指令,可设置格子的数值、去掉格子中的候选数等。

三、设计要求
1.分组设计并实现该数独游戏(每组3人,基本功能可参考示例程序)。
2.在类的设计时,要求 Sudoku 类组合Cell类、Row类(行)、Column类(列)Block类(宫),Row类聚合Cel类,Column类聚合Cell类,Block类聚合Cell类;其它类不做限定。
3.在设计开发过程中,要考虑类的复用性,尽可能地维持设计的灵活性和可扩展性。如:
√游戏未来可能要移植到图像界面,这就要求设计时,应分离控制台的输入输出功能;
√游戏未来可能会增加新的菜单及菜单功能;
√未来可能需要修改题目库(puzzles.dat)中的存储格式,如增加每题的id号利难度值等;
√未来可能需要增加新的游戏指令,如hint(给出提示)、record(将本题存入题库中)等;
√其他可能的变化。

四、设计成果
1.程序源码(在学习通提交);
2.课设报告(在学习通提交,格式参考设计报告模板,尤其注意其中系统设计优化部分,应针对上边提到的未来各种需求,说明基于你提交的源码,该如何修改并适应);
3.线下答辩(第 7-8周)。

源码联系UP主 -> https://space.bilibili.com/329101171

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值