1、 毕业设计(论文)论文题目 Java 扫雷游戏的设计与实现Thesis Topic Design and Implementation of Mine Game毕 业 设 计 ( 论 文 ) 任 务 书毕业设计(论文)题目:Java 扫雷游戏的设计与实现毕业设计(论文)要求及原始数据(资料):1学习和掌握计算机编程相关的基本知识;2了解和运用 JAVA 面向对象的特征;3熟悉 JAVA 的可移植性,跨平台性等多种特性;4设计并实现扫雷游戏的基本功能;5深入分析扫雷游戏的算法实现;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容:1进行可行性分
2、析以及需求分析;2论述毕业设计所需开发环境以及开发工具;3实现程序的概要设计; 4在概要设计的基础上进行详细设计,编写实现各个类;5. 展示 Java 编程的扫雷游戏源代码;6进行系统测试。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料):1. 秦亮. 利用 java 实现扫雷游戏的算法解析. 软件开发与设计(2011 年 06 期)2. 张洪斌. Java2 高级程序设计M. 中科多媒体出版社,20103. 孙鑫. Java Web 开发详解M. 电子工业出版社,
3、2006.189-2744. 萨师煊,王珊. 数据库系统概论(第三版)M. 北京:高等教育出版社, 2009.5. 王家华. 软件工程M. 东北大学出版社,20126. 尹伟民. Java 程序设计之网络编程. 北京:中国电力出版社, 20097. 赵生慧. Java 面向对象程序设计. 北京:高等教育出版社, 20108. 王梅. Java 并发程序设计原则与模式. 北京:中国电力出版社, 20089. Jon Titus. ECN Technical Editor: “The Eclipse of standJ. Journal of Zhongkai Agrotechnical Coll
4、ege” , Vol.19,No.2, 2006.10. W.Clay,Richardson,Donald,”Avondolio. The Java high class weaves a distance: JDK 5”, Scientific Visual Basic 6.0; Affairs; Recursion目 录摘 要 .iAbstract .ii1 绪论 .11.1 课题背景及意义 .11.2 开发工具的选用及介绍 .11.3 选题目的和意义 .21.4 本文主要研究的内容 .22 需求分析 .32.1 可行性分析 .32.2 扫雷游戏功能描述 .32.3 扫雷游戏用例图 .42
5、.4 扫雷游戏功能需求 .42.5 扫雷游戏界面需求 .52.6 扫雷游戏功能模块 .63 游戏的概要分析与设计 .73.1 设计构想 .73.2 流程规划 .83.3 界面规划 .93.4 算法思想 .94 游戏的详细设计 .114.1 游戏初始化 .114.2 雷区的布置 .124.3 游戏中主要模块的介绍与使用 .134.3.1 鼠标事件 .134.3.2 地雷及雷区表面探测情况 .144.3.3 清除未靠近地雷的格子 .154.3.4 游戏难度的选择 .164.3.5 菜单栏的功能 .164.4 游戏的判断 .164.4.1 游戏成功完成 .164.4.2 游戏失败 .164.5 类设
6、计 .174.5.1 MineGame 类 .174.5.2 Block 类 .184.5.3 BlockView 类 .194.5.4 Record 类 .204.5.5 ShowRecord 类 .214.5.6 MineArea 类 .224.5.7 LayMines 类 .235 游戏实现 .255.1 游戏难度自定义 .255.2 扫雷 .285.2.1 玩家通过右键进行扫雷,并显示小红旗 .285.2.2 玩家因触碰到雷而导致游戏结束 .295.2.3 玩家扫雷成功 .295.2.4 玩家游戏数据显示 .305.3 程序打包发布过程 .326 游戏测试结果 .336.1 游戏难度自
7、定义测试 .336.2 扫雷测试 .356.3 玩家游戏数据显示测试 .376.4 游戏数据显示区测试 .396.5 递归算法测试 .43结 论 .44参考文献 .45致 谢 .47外文原文 .48中文翻译 .5511 绪论1.1 课题背景及意义在 1964 年有一个叫“ 方块 ”的游戏,这是扫雷最原始的版本。后来,这个游戏被改成了另一种游戏,叫做“Rlogic”。在这个游戏中,玩家扮演了一名军队的军人,接受了一项艰难的任务:为指挥中心探路。当然游戏不会这么简单,这条路上充满了地雷,玩家需要小心翼翼的探索出一条没有地雷的安全的道路,如果被雷炸死游戏就会结束。一年后,汤姆 安德森(Tom And
8、erson )在之前游戏的基础上又编写了一款新的游戏,这就是扫雷游戏。1979 年, 两名工程师在计算机的操作系统上搭载了这款小游戏,从此以后扫雷游戏开始风靡全球。如今,越来越多的人喜爱上了这款简单易上手的小游戏,这个小游戏可以在任何时间在任何平台上进行游戏,让人可以在游戏中享受到乐趣并且还能在一定程度上锻炼玩家的思维能力。扫雷这款游戏有着很长的历史,从扫雷被开发出来到现在进行了无数次的优化,这款游戏变得越来越让人爱不释手了,简单的玩法在加上一个好看的游戏界面,每一处的细节都体现了扫雷的魅力。所以本次的毕业设计我将开发一款扫雷游戏。扫雷游戏深受大家的喜爱,本次的毕业设计也是迎合大家的喜欢,开发
9、一款扫雷小游戏,同时也可以提高自己编程水平。1.2 开发工具的选用及介绍Eclipse 是一款非常好用的编译软件,它也经历了很长时间的发展,并且是由许多公司联合开发的免费软件。2011 年 5 月,公布稳 定版 4.2;2012 年 4 月公布代号为Ganymeode 的 4.3 版;2013 年 5 月公布代号为 Galieleo 的 4.4 版;2013 年 7 月公布代号为 Helomios 的 4.5 版;2013 年 11 月公布代号为 Indigon 的 4.6 版;2014 年 3 月公布代号为 Jiuno 的 5.1 版;2014 年 7 月公布代号为 Keplere 的 5.
10、2 版;2015 年 3 月公布代号为 Lunam 的 5.3 版; 2015 年 8 月公布代号为 Marse 的 5.4 版。Eclipse 是目前主流的编写代码的软件,可以支持预编译,在写代码的同时就能知道是否书写错误,而不用等到运行的时候才发现。原本这个软件只能编写 Java 语言,但是经过多年的开发设计出了许多的插件,将这些插件安装进去以后就可以编写其他语言了,这也就是他被大部分人所喜爱的原因。正是由于插件的使用,Eclipse 变得很灵活,可以通过安装插件来实现原本没有的功能,让软件更加的便利。Eclipse 一开始是由两个团队联合设计开发出来的,由于该软件的强大功能使得许多公司纷
11、纷加盟该项目联合开发。而且这个项目是开源的,任何人都能对其进行开发2修改,这让 Eclipse 的名气愈来愈大,后来连甲骨文这种大公司都加入这个项目之中。这种免费的开发软件也很受许多公司的喜爱,通过安装插件可以使用各种语言。Java 语言是一种深受大家喜爱的语言,因为它是面向对象的,所以在理解了这种语言之后就会在代码的设计上有更深刻的理解。如果没有 JDK,你编写的 Java 代码是无法运行的,这是因为我们需要使用他自带的类库来帮助我们设计,由于不同的软件都可以编写代码,语言规范也就显得尤为重要,所以在开始编写代码之前一定要安装好 JDK。现在在网上是有着许许多多的 JDK 版本,其中以 Su
12、n 公司发布的最好,其他公司也有开发并发布出来。有的在性能上甚至超过了 Sun 公司的 JDK,有的则在在执行的效率上高于 Sun 公司的 JDK。但是我们还是选择使用它的原因是因为它是最稳定的JDK,经过多年的开发和完善,是其他 JDK 所不能相比的。所以我们要熟练的运用它。1.3 选题目的和意义经历了大学四年的学习之后,我已经学习了一些关于设计和编程的理论知识,本次的毕业设计运用学过的知识编写一个扫雷小游戏,是对我平时学习成果的一次检验。在设计当中让我的知识在实践中融会贯通并得到提升,并且能发现许多平常发现不了的问题,期望能通过本次的毕业设计让我的能力再一次提高。这次毕设一定会让我收获许多
13、,在今后的工作生涯中能轻松的胜任任何任务。1.4 本文主要研究的内容扫雷游戏风靡全球,受到很多人的喜爱。我研究了这个扫雷游戏之后,发现有两个关键点:第一点是鼠标事件的处理,包括鼠标点击菜单项中按钮的事件,点击雷区中任意一格的事件,点击界面上按钮的事件等。第二点是初始化雷区,包括随机生成雷的位置,界面的初始化,计算周围雷数等。具体要求如下:(1)扫雷游戏分为三种难度,分别是初、中、高级,点击游戏左上角的“游戏”菜单后会出现“初级”、“中级”、“高级”三种选项。除此之外玩家还可以自定义难度。(2)在玩家选择难度之后游戏将会改变界面大小,并改变雷的总数。当玩家点开第一个格子时雷区开始布雷同时计时开始。(3)若玩家想放弃本局游戏并重新开始的话,可以通过点击扫雷信息统计区中的按钮,来结束当前的游戏并开始新的游戏。(4)当玩家认为某个格没有雷,可以直接用鼠标单击这个格或者把鼠标放在该格子上按下空格键。如果玩家的判断是正确的,则会显示周围 8 个格子中地雷的总数,如果玩家判断错误,该格子下藏着雷的话,游戏就好结束,系统自动弹框提示玩