1、 课程设计报告 设计名称:设计名称: 面向对象课程设计 选题名称:选题名称: 数独小游戏的开发 姓姓 名:名: 学学 号:号: 专业班级:专业班级: 计算机科学与技术 系系 (院) :院) : 计算机工程学院 设计时间:设计时间: 2013.6.172013.6.30 设计地点:设计地点: 指导教师评语: 签名: 年 月 日 成绩:成绩: 面向对象课程设计报告 第 2 页,共 31 页 1课程设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综 合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Ja
2、va 语言进行 面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。 2课程设计任务与要求: 【设计要求】 课程设计可选用 NetBeans、Eclipse、JBuilder 等作为开发平台以提高开发效率,尽可能熟练掌握其 中一种集成开发环境。建议采用 UML 建模技术进行系统的分析设计,在 Visio 中画出系统用例图和类图,画出系统用例图和类图, 并将并将 UMLUML 图复制到设计报告中图复制到设计报告中。 通过这次设计,要求掌握以下内容: 1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用 2)类、包、接口的定义与使用 3)常用工具类与算法的实
3、现(数组、向量、字符串、链表) 4)Java 常用标准 GUI 组件及其事件处理 5)Java 的异常处理机制 6)Java 的数据库连接技术 7)Java 的多线程技术与动画制作 8)Java 的网络编程 3课程设计说明书 一一 需求分析需求分析 数独小游戏开发:数独小游戏开发: 益智类游戏是一种比较流行的游戏,其画面都比较简单,很少有复杂的游戏特效,但是通常用到人工智能的算法来控 制游戏的难度。而算法的优化是开发该类游戏的难点。这类游戏游戏主要包括棋牌类游戏和智力测试类游戏,例如麻将, 扫雷、五子棋、扑克牌等。 数独就是益智游戏的一种,玩法简单单数字的排列方式千变万化,很多人认为数独是练头
4、脑的绝佳方式。本章通过讲 解数独游戏在 java 平台的设计与实现,使读者了解此类游戏的开发过程,掌握实用的开发技巧,学会此类游戏的开发。 面向对象课程设计报告 第 3 页,共 31 页 系统功能:系统功能: 数独游戏的规则很简单,只需在空格处填入 19 的数字,并保证每个数字在每个九宫格内只能出现一次,且每个数字 在每一行、每一列也只能出现一次,而一般的游戏过成功是系统随机生成一个棋局,然后玩家需在空白处填上相应的数字 使其满足游戏规则。 开局/重新开始:设置提示数字位置等 游戏风云榜:游戏玩家水平高低程度 退出:退出游戏 帮助:提供帮助菜单使用户更加熟悉软件功能 版本信息:提供版本信息等。
5、 二二 概要设计概要设计 数独游戏的设计有 4 大模块构成:分别是 Miansd.Java、fyb.java、help.java、win.java。其中 win.java 由: pan1,pan2,timeer 三个模块组成。 Win 是用户界面,是具有很强的交互性的特点,其中 timmer.java:是对主窗口界面的设计。产生 9*9 的九宫格以及 对数独游戏的核心算法。 Help 是用户帮助文档,帮助用户去熟练的使用本软件。 Fyb 是游戏风云榜。提供使用此软件用户的最佳成绩得主。 Miansd 是主调用函数。是本软件的 main 方法所在的类。 三三 详细设计详细设计 图一:uml图 /
6、* 游戏初始化*/ 构造数独游戏主界面 public void gameInit() this.setSize(500, 400); this.setLayout(new GridLayout(3, 3); for (int i = 0; i = 3) zy_index = grid.getZ() - 3; / 对应 3 4 5 y 轴方向起点为 0 1 2 else zy_index = grid.getZ(); / 对应 0 1 2 y 轴方向起点为 0 1 2 for (; zx_index = 3) zy0 = z1 - 3; / 对应 3 4 5 检查它上面和下面 2 个小九宫格 zy1 = z1 + 3; else zy0 = z1 + 3; /