没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
















计算机与信息工程系《数独游戏的设计与实现》课程设计
第 1 页 共 31 页
学号
1208010106
《面向对象程序设计》
课程设计报告
题目:
九空格数独游戏的设计与实现
专业:
计算机科学与技术
班级:
12 级计科(1)班
姓名:
程龙军
指导教师:
陈磊
成绩:
计算机与信息工程系
2014 年 6 月 6 日
2013-2014 学年 第二学期

计算机与信息工程系《数独游戏的设计与实现》课程设计
第 2 页 共 31 页
目录
一、题目描述 ............................................................................................3
二、设计分析 ............................................................................................3
1、基本解法 .......................................................................................3
2、软件系统的功能 ............................................................................4
3、 对性能的要求 ..............................................................................4
三、设计思路 ............................................................................................5
1、 分析找出问题域中的对象 ..........................................................5
2、确定类的属性 ................................................................................5
3、确定对象之间的关系 ....................................................................5
四、系统设计 ............................................................................................6
五、源代码 ..............................................................................................13
六、系统设计和软件发布 ......................................................................24
1、程序运行情况 ..............................................................................24
2、软件的发布 ..................................................................................28
3、分析讨论 ......................................................................................29
七、难点及关键技术分析 ......................................................................30
八、心得体会 ..........................................................................................30
九、参考文献 ..........................................................................................31

计算机与信息工程系《数独游戏的设计与实现》课程设计
第 3 页 共 31 页
一、题目(问题)描述
在 9×9 格的大九宫格中有 9 个 3×3 格的小九宫格,并提供一定数量的数字。
根据这些数字,利用逻辑和推理,在其它的空格上填入 1 到 9 的数字。每个数
字在每个小九宫格内只能出现一次,每个数字在每行、每列也只能出现一次。
这种游戏只需要逻辑思维能力,与数字运算无关。虽然玩法简单,但数字排列
方式却千变万化,所以不少教育者认为数独是锻炼脑筋的好方法。
二、设计分析
1、基本解法 :
利用 1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行
解题的方法。
实际寻找解的 过程为:
使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能
填入某一数字的唯一位置,换句话说,就是把单元中其他的空白位置都排除
掉。
那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,由于
1-9 的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,所
以:
如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一
数字
如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一
数字
如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一
数字。

计算机与信息工程系《数独游戏的设计与实现》课程设计
第 4 页 共 31 页
图 1-1
单元格:数独中最小的单元,标准数独中共有 81个; 行:横向 9个单
元格的集合; 列:纵向 9个单元格的集合; 宫:粗黑线划分的区域,
标准数独中为 3×3的9个单元格的集合; 已知数:数独初始盘面给出的
数字; 候选数:每个空单元格中可以填入的数字。
2、软件系统的功能
可弹出游戏界面,方便用户操作,界面易于用户理解。可以选择游戏开始或重
新开局。可以判断正误,能给出正确答案,当输入的内容不符合要求时,弹出
对话框,提示输入错误。当结果不正确时,弹出对话框,提示答案错误。答案
正确时。弹出对话框,显示答案正确。在九宫格数独游戏界面和弹出的消息提
示界面有相关的最小化、最大化、关闭等按钮可以操作。
3、 对性能的要求
(1) 具有较强的实用性
(2) 易于理解和应用
(3) 对程序的配置要求不高,能广泛应用

计算机与信息工程系《数独游戏的设计与实现》课程设计
第 5 页 共 31 页
三、设计思路
1、 分析找出问题域中的对象
并将对象归类,注意筛选掉不必要的对象或类。
对象:
属于 ShuDu1 主类的对象成员: MenuBar、Menu、MenuItem、JComboBox
属于 ShuDuAns 类的对象:JTextField
属于 String 类的对象:atext[i][j]
属于JtextField类的对象:text[i][j]、
属于JPanel类的对象:apanel[ ]、panel[ ]
类:包括上述所有类及父类 Jframe。
2、确定类的属性
ShuDu1: public String: public
JtextField:private JPanel:private
Jframe:public
3、确定对象之间的关系(包括依赖、泛化、关联、实现等等)
Jframe 与主类 ShuDu1 之间:泛化
texts[ ](JtextField)与 atext [ ](String)之间:依赖
String 与 ShuDu1 之间:依赖
Resizable、Editable、Visible 与 texts[ ]之间:实现
i、j 与 text[i][j]、atext[i][j]之间:关联
类设计
类名
角色
变量(属
性)
行为
ShuDu1
表示
一个
数独
MenuaBar
:添加菜单
项,
setSize():设置尺寸等
add():添加文本及组件
setMenuBar():设置难易等级菜单
剩余30页未读,继续阅读
资源评论


matlab大师
- 粉丝: 2931
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【AB PLC例程】用于1797数字和模拟I-O的ME面板.zip
- 【AB PLC例程】用于1769数字和模拟输入输出的ME面板.zip
- 【AB PLC例程】用于1794数字和模拟I-O的ME面板.zip
- 【AB PLC例程】用于Logix处理器的简单Modbus从站套件.zip
- 【AB PLC例程】用于ControlNet诊断的ME面板.zip
- 【AB PLC例程】用于EtherNet IP诊断的ME面板V2.zip
- OMEGA OM-70-Series 软件
- 【AB PLC例程】用于PanelView Plus 600的Stratix 6000的ME面板AOI.zip
- 【AB PLC例程】用于PanelView Plus 600的Stratix 8000的ME面板AOI.zip
- 【AB PLC例程】用于Stratix 8000交换机的ME PV+600面板AOI v2.zip
- 【AB PLC例程】用于测量经过时间的时间光标.zip
- 【AB PLC例程】用于伺服电机AOI扭矩反馈(%至Nm)和峰值扭矩Lim(Nm至%)的变矩器.zip
- 【AB PLC例程】用于单轴运动应用的KAT程序人机界面.zip
- 【AB PLC例程】用于多台扫描仪的DeviceNet扫描仪归档逻辑.zip
- 【AB PLC例程】用于跟踪的新型w位移位序列器.zip
- 【AB PLC例程】用于控制InView显示的附加组件指令库.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
