java课程设计九宫格数独.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
中南民族大学管理学院 学生课程设计报告 课题名称: java课程设计 选题名称: 九宫格数独 年 级: 2009 专 业: 信息管理与信息系统 学 号: 姓 名: 指导教师: 完成地点: 管理学院综合实验室 完成日期: 2011年9月25日 2011学年至2012学年度第一学期 目 录 1. 题目描述 3 2. 问题分析 3 3. 问题分解 4 4. 系统设计 6 5. 系统实现 11 6. 系统设计和软件发布 24 7. 难点及关键技术分析 31 8. 心得体会 32 一、题目(问题)描述 在9×9格的大九宫格中有9个3×3格的小九宫格,并提供一定数量的数字。根据这些数字, 利用逻辑和推理,在其它的空格上填入1到9的数字。每个数字在每个小九宫格内只能出 现一次,每个数字在每行、每列也只能出现一次。 这种游戏只需要逻辑思维能力,与数字运算无关。虽然玩法简单,但数字排列方式却千 变万化,所以不少教育者认为数独是锻炼脑筋的好方法。 二、问题分析 1、基本解法:利用1 ~ 9 的数字在每一行、每一列、每一宫都只能出现一次的规则进行解题的方法。 实际寻找解的过程为: 使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数 字的唯一位置,换句话说,就是把单元中其他的空白位置都排除掉。 那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,由于1- 9的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,所以: 如果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字 如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字 如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字。 单元格:数独中最小的单元,标准数独中共有81个; 行:横向9个单元格的集合; 列:纵向9个单元格的集合; 宫:粗黑线划分的区域,标准数独中为3×3的9个单元 格的集合; 已知数:数独初始盘面给出的数字; 候选数:每个空单元格中可以 填入的数字。 2、软件系统的功能 可弹出游戏界面,方便用户操作,界面易于用户理解。可以选择游戏开始或重新开 局。可以判断正误,能给出正确答案,当输入的内容不符合要求时,弹出对话框, 提示输入错误。当结果不正确时,弹出对话框,提示答案错误。答案正确时。弹出 对话框,显示答案正确。在九宫格数独游戏界面和弹出的消息提示界面有相关的最 小化、最大化、关闭等按钮可以操作。 3. 对性能的要求 1. 具有较强的实用性 2. 易于理解和应用 3. 对程序的配置要求不高,能广泛应用 三、问题分解 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():设置难" " " " "易等级菜单 " "ShuDuAns "设置答案窗口 " "setSize():设置尺 " " " " "寸等 " " " " "JPanel( " " " " "):设置面板布局 " "Public void "单击事件处理 "单击实践 "JOptionPaneshowMess" "actionPerformed(Acti"方法 " "ageDialog():弹出提 " "onEvent e) " " "示信息框 " "接口名 "属性 " "ActionListener "add " " "
剩余22页未读,继续阅读
- 粉丝: 83
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助