扫雷游戏课程设计报告整合

上传人:第*** 文档编号:55664916 上传时间:2018-10-03 格式:PDF 页数:36 大小:707.52KB
返回 下载 相关 举报
扫雷游戏课程设计报告整合_第1页
第1页 / 共36页
扫雷游戏课程设计报告整合_第2页
第2页 / 共36页
扫雷游戏课程设计报告整合_第3页
第3页 / 共36页
扫雷游戏课程设计报告整合_第4页
第4页 / 共36页
扫雷游戏课程设计报告整合_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《扫雷游戏课程设计报告整合》由会员分享,可在线阅读,更多相关《扫雷游戏课程设计报告整合(36页珍藏版)》请在金锄头文库上搜索。

1、 面向对象程序设计面向对象程序设计课程设计报告课程设计报告题目:扫雷游戏设计院 (系) :计算机与电子系专业班级:计算机科学与技术 0903 班学生姓名:=学号:=指导教师:=20 12 年 6月4日至 20 12 年6月15日华中科技大学武昌分校制华中科技大学武昌分校制面向对象程序设计面向对象程序设计 课程设计任务书课程设计任务书一、设计(调查报告一、设计(调查报告/ /论文)题目论文)题目扫雷游戏设计二、设计(调查报告二、设计(调查报告/ /论文)主要内容论文)主要内容内容:Windows 系统提供的扫雷游戏是一个很有趣的游戏。 这里使用 Java 语言编写一个与其类似的扫雷游戏。基本功能

2、与要求:1扫雷游戏分为初级,中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。游戏菜单可以选择“初级” , “中级”和“高级”或“查看英雄榜” 。2选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中的任何一个方块启动计时器。3用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示数字,该数字代表方块周围的八个方块中共有多少颗雷。4如果用户认为某个方块下埋有地雷, 单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户标记是否正确),程序将显示剩余雷数减少一个。5

3、. 扫雷胜利后(用时最少者) ,程序弹出保存成绩对话框。三、原始资料三、原始资料1.面向对象程序设计课程设计指导书2. 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009四、要求的设计(调查四、要求的设计(调查/ /论文)成果论文)成果1.课程设计报告2.课程设计软件五、进程安排五、进程安排布置任务,查找资料、需求分析 1 天总体设计 1 天详细设计 1.5 天编制源程序实现 3.5 天测试与修改 1 天撰写课设报告 2 天六、主要参考资料六、主要参考资料1 张广彬. Java 课程设计案例精编(第二版).北京:清华大学出版社, 2011.2 耿祥义. Java 课程设计(第二版).北

4、京:清华大学出版社, 2008.3 耿祥义JAVA 大学实用教程北京:清华大学出版社,20094 邹林达陈国君 Java2 程序设计基础北京:清华大学出版社,20105 邹林达Java2 程序设计基础实验指导北京:清华大学,2010指导教师(签名指导教师(签名) :2020年年月月日日目录1 需求与总体设计11.1 需求分析11.2 总体设计12 详细设计42.1 MineGame 类42.2 MineArea 类52.3 Block 类62.4 BlockView 类72.5 LayMines 类82.6 Record 类82.7 ShowRecord 类92.8 userDifine 类9

5、3 编码实现113.1MineGame 类113.2MineArea 类143.3 Block 类173.4 BlockView 类183.5 LayMines 类193.6 Record 类203.7 ShowRecord 类213.8 userDifine 类244 系统测试26总结30- 1 -1 需求与总体设计1.1 需求分析1.11.11 1 扫雷游戏概述扫雷游戏概述扫雷是一种具有迷惑性的对记忆和推理能力的简单测试,它是长久以来最受欢迎的Windows 游戏之一。游戏目标:找出空方块,同时避免触雷。1.1.21.1.2 扫雷的操作方法扫雷的操作方法游戏主区域由很多个方格组成。使用鼠标

6、随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的 8 个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有 0 颗雷,则其周围格子自动打开。例如,方格中出现 1,说明上下左右及斜角合计有一颗雷,依次类推,2 则有 2 颗,3 则有 3 颗。1.1.31.1.3 游戏具有的功能游戏具有的功能I I. .能够显示主菜单和界面能够显示主菜单和界面游戏需要提供主菜单让玩家进行游戏设置,同时能够显示当前剩余的地雷数量及当前花费时间等相关信息到界面上。IIII. .能够接收鼠标输入功能能够接收鼠标输入功能能够接收玩家的鼠标输入功能,左键和右键输入。IIIIII. . 能够根据

7、规则翻转相应的格子能够根据规则翻转相应的格子翻动指定位置的格子。IVIV. . 能够标示指定格子的功能能够标示指定格子的功能即能够对确定或者怀疑是地雷的格子进行“旗子“和“?“符号的标示。V V. .游戏胜负判断功能游戏胜负判断功能当玩家单击的格子中有地雷时,判定玩家失败,游戏结束。当扫雷游戏中全部格子被打开时,判定玩家成功。VIVI 英雄榜记录更新英雄榜记录更新当有玩家把当前等级的地雷全部扫出来后,并且时间比记录中的时间短时,在结束游戏时,要求玩家把名字保存下来。游戏初始时时间为 999 秒。例如,当第一个玩家把全部地雷扫出来的时间为 120 秒,这时玩家的记录时间将被保存下来并作为记录时间

8、线。直到有玩家的时间少于 120 秒,才能更新当前记录时间线并保存玩家的名字。 1.2 总体设计在设计扫雷游戏时,需要编写 8 个 Java 源文件:MineGame.java、MineArea.java、Block.java、BlockView.java 、userDefine.java 、LayMines.java 、Record.java 和- 2 -ShowRecord.java.扫雷游戏除了需要编写上述8个Java源文件所给出的类外, 还需要Java系统提供的一些重要的类,例如 File、JButton 和 JLabel 等类。扫雷游戏所用到的一些重要的类以及之间的组合关系如图 1-

9、1 所示,系统功能图如图 1-2 所示。Block图 1-1 类之间的组合关系MineGameFileShowRecordMineAreaRecordBlockViewLayMinesJButtonJLabeluserDefine帮助图 1-2 功能图扫雷游戏主界重新开始关 于 扫 雷游戏低 级中 级高 级英 雄 榜开 始退 出自 定 义- 3 -1.2.1 MineGame.java(主类)MineGame 类负责创建扫雷游戏主窗口, 该文件含有 main 方法。 扫雷游戏从该类开始执行。1.2.2 MineArea.javaMineArea 类创建的对象是 MineArea 类最重要的成员

10、之一,代表“扫雷区域” 。1.2.3 Block.javaBlock 类是雷区中“方块”的类封装,含有关于“方块”的属性以及操作,即负责为雷区创建代表“方块”的 Block 对象。1.2.4 BlockView.javaBlockView是JPanel容器的子类, BlockView创建的对象负责为Block对象提供视图,以方便用户通过该视图与 Block 对象交互。1.2.5 LayMines.javaLayMine 类对象不需要视图,在游戏中不需要看见该类。LayMine 对象使用随机算法指定MineArea 对象中的哪些 Block 对象是雷,哪些 Block 对象不是雷。1.2.6 R

11、ecord.javaRecord 类是 JDialog 对话框的子类,对用户扫雷成功时,Record 对象负责保存用户的成绩到文件。1.2.7 ShowRecord.javaShowRecord 类是 JDialog 对话框的子类, 当用户查看扫雷的最好成绩时, ShowRecord对象负责提供读取文件数据的界面。1.2.8 userDefine 类userDefine 类是JDialog 对话框的子类,当用户想自定义扫雷难度时,ShowRecord 对象负责设置用户想要的难度设置。- 4 -2 详细设计2.1 MineGame 类MineGame 类是 javax.swing 包中 JFra

12、me 的一个子类, 并实现了 ActionListener 接口。标明该类的只要成员变量和方法的 UML 图如图 2-1 所示。JFrameActionListenerMineGame bar: JMenuBar; fileMenu, heipMenu: JMenu 开始,初级,中级,高级,英雄榜,自定义,退出,关于:JMenuItem mineArea: MineArea 英雄榜: File showHeroRecord: ShowRecord MineGame(): 无类型 actionPerformed(ActionEvent) main(String):void图 2-1 MineGa

13、me 类的 UML 图以下是 UML 图中有关数据和方法的详细说明。1)成员变量a. bar 和 fileMenu 提供菜单操作,单击游戏菜单项为“开始” 、 “初级” 、 “中级” 、 “高级” 、“扫雷英雄榜” 、 “自定义”和“退出” 。单击帮助菜单项为“关于” 。b. mineArea 是扫雷区域,提供有关扫雷的主要功能。c. “英雄榜”负责存放三个级别的扫雷最好成绩。d. showHeroRecord 负责显示英雄榜中的数据。2)方法A MineGame()是构造方法,负责完成窗口的初始化。B ActionPerformed(ActionEven)方法是MineGame类实现的Act

14、ionListener接口中的方法,该方法负责执行菜单发出的有关命令。用户选择菜单中的菜单项可触发ActionEvent 事件,导致 actionPerformed(ActionEvent)方法执行相应的操作,例如将 mineArea 创建的雷区设置为初级、中级、高级。C main(String)方法是程序运行的入口方法。- 5 -2.2 MineArea 类MineArea 类是 javax.swing 包中 JPanel 容器的子类,实现了 ActionListener 和MouseListener 接口,所创建的对象:mineArea 是 MineGame 类中最重要的成员之一,作为一个容器添加到 MineGame 窗口的中心。标明 MineArea 类的主要成员变量、方法以及和MineGame 类之间组合关系的 UML 图如图 2-2 所示。MineArea row,colum,m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号