扫雷小游戏课程设计

上传人:ni****g 文档编号:445836593 上传时间:2024-01-15 格式:DOC 页数:23 大小:368.50KB
返回 下载 相关 举报
扫雷小游戏课程设计_第1页
第1页 / 共23页
扫雷小游戏课程设计_第2页
第2页 / 共23页
扫雷小游戏课程设计_第3页
第3页 / 共23页
扫雷小游戏课程设计_第4页
第4页 / 共23页
扫雷小游戏课程设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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

1、word科技大学软件工程课程设计报告题目: 扫雷游戏开发 班级: 计科0901班 学号: xxxxxxxxxxxx : xxxxxxx :xxxxxxxxxxxxx 2012年7月目 录1 绪论 3 1.1 选题目的及意义 31.2 系统概述 32 可行性研究报告 43 需求规格说明书 54 总体设计说明书 65详细设计说明书 76 系统实现 16 6.1 开发环境 16 6.2 关键技术 16 6.3 运行结果 16 7测试分析报告 17 8心得体会 19参考文献1.绪论1.1选题目的及意义随着现在生活节奏的加快,人们在工作学习之余需要一个轻松娱乐的放松环境。因此我编写此软件的目的,一方面作

2、为初学者来了解java环境下的小程序开发,另一方面使用户能在娱乐休闲的同时拓展思维能力。扫雷是单人计算机游戏。游戏的用户界面由小方格组成的战场构成。当游戏开始时,计算机将固定的地雷数随机的放到战场的方格。此游戏还允许玩家指定战场中的地雷数。参考Windows 操作系统提供的扫雷游戏,改进扫雷游戏程序, 增加以下功能:在主界面中添加一个菜单栏,菜单栏中包括游戏和帮助两个菜单,其中游戏菜单中设置初级、中级、高级、自定义、声音、扫雷英雄榜这几个菜单项,帮助菜单中设置游戏规则和制作人员两个菜单项。背景说明:a.软件名称:扫雷b.用户:所有扫雷游戏爱好者1.2 系统概述1.2.1扫雷游戏的基本要求Win

3、dows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下: (1) 扫雷游戏分为初级、中级和高级三个级别。单击游戏菜单可以选择“初级”、“中级”和“高级”。(2) 选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击“开始”便启动计时器。(3) 用户要揭开某个方块,可左键单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。(4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一

4、个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。(5)当用户点中雷时,将有“你输了”的提示出现,胜利时,将有“你赢了”的提示出现。1.2.2 需实现的主要功能用户可以自定义级别并且可以任意输入雷数;具有计时功能,即显示用户完成移动盘子所花费的时间。2 可行性研究报告2.1 技术可行性分析本程序是java平台下的windows应用程序,总体规模较小适合个人单独完成。开发人员是和软件专业相关的学生,有软件开发方面的基础,有能力完成该程序的设计及开发工作。2.2 时间和资源可行性分析(1)本程序按预定计划进行,有足够的时间完成(2)预算中的人员可全天候的进行软件开发工作(3)按照

5、课程设计时间及安排,计划如下:a.课程设计之前: 查阅资料,确定题目;b. 搜集资料,调研分析。c.系统分析与设计。d.系统实现/测试。e.整理文档,成果验收,提交设计报告。所以有充分的时间进行软件开发工作,所以硬件方面的资源可得到满足。2.3软件要实现的功能及可行性 详情见需求分析3需求规格说明书3.1需求分析3.1.1功能需求:功能简介随机布雷可以由电脑进行随机布雷自定义雷的数量可以由用户自定义雷的数量计时有计时装置,可以自开始扫雷后自动记时难度级别选项各个级别的难度对应雷的数量的不同游戏结束提示在游戏结束时会出现提示对话框,并停止计时自定义雷的数量界面自定义雷的数量界面程序主界面程序运行

6、的主界面3.1.2运行环境需求: 基于J2SE平台的.版本jdk1.6.0_31的程序开发环境3.2硬件需求:a. 处理器型号:奔腾III及同等型号以上处理器b. 存容量:512MB以上存(可运行数据库管理系统)c. 外存容量:5G以上硬盘空间d. 联机或脱机:脱机输入及输出设备的型号和数量:鼠标、彩色显示器3.3软件需求:编译程序:jdk1.6.0_313.4控制需求:使用全鼠标控制4 总体设计说明书 在设计扫雷游戏时,需要编写9个Java源文件:MineGame.java、MineArea.java、Block.java、BlockView.java、LayMines.Java、ShowR

7、ecord.java、voiceShow.java、userDefine.java、ruleShow扫雷游戏除了需要编写上述java 源文件所给出的类外,还需要Java 系统提供的一些重要的类,如File、utton、和Jlabel等类。扫雷游戏所用到的一些重要的类以及之间的组合关系如下图所示:ShowRecordMineAreaFileMineGameruleShowuseDefinevoiceShowLayMinesBlockViewBlockJLableutton图4-1 类之间的组合关系5详细设计说明书5.1MineGame类 5.1.1 UML类图MineGame类是javax.sw

8、ing 包中Jframe的一人子类,并实现了ActionListener接中,标明该类的主要成员变量和方法的UML图如下图所示:图5-1-1 MineGame类的UML图 以下是UML图中有关数据和方法的详细说明。1)成员变量 bar和fileMenu提供菜单操作,单击游戏菜单中的选项为“初级”“中级”“高级”“自定义”“背景声音”“退出”“游戏规则”等MineArea是扫雷区域,提供有关扫雷的主要功能。userdefine负责用户自定义功能VoiceShow负责背景音乐功能ruleshow负责显示游戏规则功能2)MineGame()是构造方法,负责完成窗口的主要功能actionPerform

9、ed(ActionEvent)方法是MineGame类实现的ActionLister接口中的方法,该方法负责执行菜单发出的有关命令。用户选择菜单项可以触发ActionEvent事件,导致actionPerformed(ActionEvent)方法执行相应的操作,例如将mineAreaw创建的雷区设置为初级,中级,高级等。Main(String)方法是程序的入口方法5.2 MineArea 5.2.1 效果图:图5-2-1 MineArea创建的扫雷区域效果图 5.2.2 UML图MineArea类是javax.swing包中JPanel容器的子类,实现了ActionListener和Mouse

10、rListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如下所示:图5-2-2 MineGame类之间组合关系的UML图以下是UML图中有关数据和方法的详细说明。1) 成员变量Block是Block类型的数组,用来确定雷区有多少需进行扫雷的方块。blockView是Blockview类型的数组,负责为block数组中的Block对象提供视图。Lay是LayMines类型的对象,负责设置block数组中的哪些方块是雷或不是雷。

11、reStart是一个按钮对象,用户单击它重新开始游戏。time是计时器对象,负责计算用户的用时。2)方法initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度,高度,雷的数目以及雷区的级别。actionPerformed(ActionEvent)是MIneArea类实现ActionListener接口中的方法。当用户单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionPerformed(ActionEvent)方法将使用户输

12、掉本局,若该方块下又雷,actionPerformed(ActionEvent)方法将显示BlockView对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中总共有多少颗雷show()方法是一个递归方法。actionPerformed(ActionEvent)方法执行时将调用show方法进行扫雷。mousePress(MouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标右键时,mousePress(MouseEvent)方法负责让方块上显示一个探雷标记。inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法

13、负责让record对话框可见。所谓扫雷成功是指不仅找到了全部的雷而且用时最少。5.3 Block类 5.3.1.效果图Block对象负责封装雷区中方块中的数据以及对这些数据的操作,外观效果由Blockview负责提供(见后面的BlockView)。5.32UML图Block类创建的对象是数组block的单元的对象。Block型数组block是MineArea类的重要成员之一。标明Block类的主要成员变量和方法以及和MineArea类之间的组合关系的UML图如下图所示:图5-3-1 Block类的UML图以下是UML图中有关数据的方法的详细说明。1)成员变量name是方块上的名字。aroundMineNumber是方块周围雷的数目。mineIcon是方块上雷的图标。sMine用来表示方块是否是雷。isMark用来表示方块是否被标记。isOpen用来表示方块是否被挖开。2)方法setAroundMineNumber(int)方法用来设置aroundMineNumber的值。getAroundMineNumber()方法用来获取aroundMineNumber的值。5.4 BlockView类 5.4.1效果图BlockView创建的对象负责为Block对象提供视图,以便用户通过该视图与B

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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