当前位置:首页>> >>


基于Java的迷宫游戏.rar

收藏

资源目录
    文档预览:
    编号:20180913143531173    类型:共享资源    大小:1.66MB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    40
    金币
    关 键 词:
    基于 Java 迷宫 游戏
    资源描述:
    太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸i基于 Java 的迷宫游戏摘要迷宫游戏是我们最常见的游戏之一,该游戏出现在手机游戏、掌上游戏机和电脑游戏当中,因此迷宫游戏也是一个十分经典的游戏。一般的迷宫游戏比较简单,游戏中随机出现一些障碍,要求玩家能够找出一条从起点到终点的通路。它看似简单确变化无穷,迷宫游戏上手及其简单,但要熟练的掌握其中的奥秘且快速找出一条通路,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法比较的。本设计是一款基于 Java 的迷宫游戏。目前用于游戏开发的计算机语言多种多样,而 Java 只是其中一种。然而, Java 是现在全球最时髦的开发工具之一,它拥有一套庞大且完整的类库,内置了其他怨言需要靠库甚至是操作系统才能支持的功能。所以,程序员可以很容易的用 Java 编写并运行基于 Java 的游戏。本文从游戏的背景研究和发展现状开始,详细描述了整个游戏的制作过程。对实现功能以及操作过程进行了重点讨论,开发用到了 Java 类库中的许多包以及其中的类,例如 java.util 包,java.lang 包,java.awt 包等等,稳重会对这些包和类的用法进行讲解。关键词 游戏;迷宫;Java;算法太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸iiAbsractJava-Based Maze GameMaze Game is one of the most common of our game , the game appeared in mobile games , handheld game consoles and computer games which , therefore maze game is a very classic game. Generally relatively simple maze game , the game randomly some obstacles , requiring players to be able to find a path from start to finish . It seems simple indeed enormous, and its simple maze game started , but a skilled master mystery cut quickly identify a path , the difficulty really is not low . As a well-known popular game for all ages , its popularity can be said that the history of any game can not be compared.This design is a Java-based maze game . Current computer language for a variety of game development , and Java is just one of them. However , Java is now one of the world's most fashionable development tools, it has a large and complete library, built-in library or other complaints need to rely on the operating system to support functions. Therefore, the programmer can easily written in Java and run Java-based games.In this paper, the status of research and development background of the game began , a detailed description of the entire game production process. The realization of functions and operations are focused on the process , the development of the Java class libraries used in many packages as well as one of the categories, such as java.util package , java.lang package , java.awt package and so on , will these packages and steady type of usage to explain.Keywords game;maze;Java Language;algorithm太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸1目 录1 绪论 ...................................................................51.1 课题的研究背景与意义 ...............................................51.2 Java 简介 ..........................................................51.2.1 名字起源 .......................................................51.2.2 发展历史 .......................................................51.2.3 语言特征 .......................................................51.2.4 开发平台 .......................................................62 可行性研究 .............................................................72.1 可行性分析 .........................................................72.1.1 技术可行性 .....................................................72.1.2 经济可行性 .....................................................72.1.3 操作可行性 .....................................................72.1.4 法律可行性 .....................................................73 需求分析 ...............................................................83.1 系统初步分析 .......................................................83.1.1 用户需求分析 ...................................................83.1.2 功能需求分析 ...................................................83.1.3 系统的可靠性和可用性需求分析 ...................................84 总体设计 ...............................................................94.1 系统开发 ...........................................................94.1.1 系统开发的原则 .................................................94.1.2 系统设计阶段 ...................................................94.1.3 结构设计阶段 ...................................................94.2 相关算法介绍 ......................................................104.2.1 深度优先算法生成迷宫介绍 ......................................104.2.2 普里姆算法生成迷宫介绍 ........................................115 详细设计 ..............................................................135.1 核心包的设计 .......................................................13太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸25.1.1 MainFrame 类的设计与实现 ......................................135.1.2 SetFrame 类的设计与实现 .......................................155.1.3 ShowPane 类的设计与实现 .......................................175.1.4 MainController 类的设计与实现 .................................205.1.5 AbstractMap 类的设计与实现 ....................................235.1.6 DFSMap 类的设计与实现 .........................................235.1.7 PriMap 类的设计与实现 .........................................295.1.8 Point 类的设计与实现 ..........................................326 结论 ..................................................................34参考文献 .................................................................35致 谢 .................................................................36外文文献 .................................................................37中文翻译 .................................................................47太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸11 绪论1.1 课题的研究背景与意义随着经济的快速发展,计算机的地位在人们生活中已日益突出,基于各种操作系统的娱乐游戏也越来越多、越来越大众化,成为人们生活中必不可少的一部分。而随着人们生活品质的提高,电脑游戏也越来越多元化,迷宫游戏就是其中的一种。迷宫游戏操作简单方便,也具有一定的思考力,能够引发人的思维及兴趣,老少皆宜,是一款经久不衰的大众化游戏。游戏的最初目的就是让玩家在游戏中得到放松。游戏一直存在于人类生活中,如今定义的游戏从早期的猜谜游戏,发展至如今的单击 RPG 游戏,网络游戏等,已经升华为更高级别意义上的娱乐游戏,对人们的感官刺激也越发强烈,得到乐趣也更多。对于编写游戏而言,Java 已变得足够成熟。它现在是一种开发能都在多种平台上运行的中小型游戏的很好的方式。此外,Java 支持和其他库一起工作,而且它的速度变得越来越快。由于 Java 游戏一般来说简单有趣,并且对用户硬件要求极小,所以 Java 游戏通常对 85%的计算机用户都有吸引力。1.2 Java 简介1.2.1 名字起源Java 是印度尼西亚爪哇岛 的英文名称。 Java 语言 中的许多库类名称,多与咖啡有关:如 JavaBeans、NetBeans 以及 ObjectBeans 等等。SUN 和 JAVA 的标识也正是一杯正冒着热气的咖啡。1.2.2 发展历史` Java 是由 Sun Microsystems 公司推出的 Java 面向对象程序设计语言(以下简称Java 语言)和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持 Java applet。另一方面,Java 技术也不断更新。(2010 年 Oracle 公司收购了 SUN) 1.2.3 语言特征Java 是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java 舍弃了容易引起错误的 指针、运算符重载 、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中, Java 又引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于一般的编译执行 计算机语言和解释执行 计算机语言。它首先将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行” 的跨平台特性。编辑 Java 源代码可以使用任何无格式的纯文本编辑器。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸21.2.4 开发平台Java 平台由 Java 虚拟机和 Java 应用编程接口(简称 API)构成。Java 应用编程接口为此提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以就可以在各种系统中运行。Java 程序设计语言共分为三个体系 JavaSE(java 平台标准版), JavaEE(java 平台企业版),JavaME(java 平台微型版)。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸32 可行性研究可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能解决。要达到这个目的,必须分析集中主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的经济效益时候大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。2.1 可行性分析2.1.1 技术可行性开发本游戏的编程语言有多种,如:VC,VB,Java 等,但考虑到自身对语言的熟悉程度和编写程序的困难度,选择 Java 语言进行游戏的开发。本游戏实在 Windows 环境下开发的,一般机器配置就可以满足要求,对机器本身没有太高的要求,环境只需装上 jdk 即可,Java 是现在全球最流行的开发语言之一,他拥有一套庞大且完善的类库,内置了其他语言所需要的靠库甚至是操作系统才能支持的功能,拥有一个虚拟机。Eclipse 是 SUN 公司开发的 Java 集成开发环境工具,是目前最优秀的 Java 集成开发工具之一。2.1.2 经济可行性由于本系统使用到的工具一般机器都具有,使用的环境也很简单,开发成本低。Java 一直以来由于其可以“ 跨平台”以及“一次编译,到处运行” 等特点,且因为 Java 游戏简单有趣,并且对用户硬性要求极小,所以 Java 游戏通常对 85%的计算机用户都有吸引力。2.1.3 操作可行性由于整个系统的开发过程中从操作简便、界面美观、灵活使用、的用户要求为出发点,界面设计是要充分考虑玩家的感受,界面比较直观,互动性很好,操作起来简单明了。2.1.4 法律可行性信息产业部已将游戏通用引擎研究及师范产品纳入国家“863 计划” ,这是中国首次将游戏技术纳入国家科技计划当中。文化部也想国内多家游戏业的实力厂商首次颁发了《网络文化经营许可证》,加大对游戏的监管力度,进口游戏的审查制度,限制国内对国外的受理措施。科技部指定科技发展计划,将把游戏开发的扶持力度加大。这样一来,国内游戏厂商将可获得发展的核心技术平台,政策有利于保护中国游戏软件的自主知识产权,这位游戏开发发展创造了良好的政策环境。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸43 需求分析所谓系统分析,就是指在整个系统开发过程中,解决“做什么” 的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚,从逻辑上或者说从信息处理的功能希求上提出系统方案,即逻辑模型,为下一阶段进行物理设计方案设计,解决怎么办提供依据。3.1 系统初步分析3.1.1 用户需求分析随着 Internet 的发展,进入信息时代后快速获得网络共享资源成为很简单的事情,人们对计算机产品产生更大的依赖性。计算机的普及使得原本生活已经不嫩更适应人们的需要,广大计算机爱好者迫切的需要能够使用计算机进行必要的娱乐活动来丰富自己的生活,这样,计算机游戏应运而生。据目前的游戏调研来看,由 Java 开发的游戏仍然是一个空白页,但是它却是一个继续填补的空白页。而 Java 语言由于其天生的语言特性,很适合进行游戏应用的开发,但由于系统环境问题时的它一直以来未能用于游戏开发,而近来由于 Java 的发展,它已经摆脱了束缚,浮出了游戏开发的水面。这也是玩家迫切要求的。3.1.2 功能需求分析系统功能的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。本作的功能模块主要包括游戏的后台设计,游戏的界面设计。游戏的引擎设计的需求分析:游戏后台是游戏的灵魂,也就是这个游戏的框架,它的好坏直接决定着游戏的质量。它是控制所有游戏功能的主程序,包括画面的处理,路径寻找算法的实现,接收玩家的设置等。所以坚定一个游戏的好坏,从内部设计的原因上说,是从游戏的后台设计体现出来的。一个游戏的后台设计,直接关系到游戏设计的其他方面,诸如游戏的图形系统、声音系统及设计的物理模块等各方面。就如一台 CPU 一样,游戏的后台也是直接牵制着整个游戏的设计。它主要的作用是处理游戏的时间,运行游戏,输出相应提示,响应玩家的游戏监听时间等。所以,游戏的后台设计是必要的功能模块,而且游戏的后台必须设计好,这样游戏才具有更好的可玩性。游戏程序是一样精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万的程序,且需要极高频率在后台等待响应。因此,其伙计设计应当相当严谨。游戏界面设计的需求分析:作为一个游戏吸引玩家的最重要的方便就是几面。本作品界面简洁明了,是玩家人容易上手操作,且适应性强。3.1.3 系统的可靠性和可用性需求分析可靠性需求定量地指定系统的可靠性,例如,游戏在运行过程中不能频繁发生错误而不得不中止游戏。可用性则与可靠性密切相关,它量化了用户可以使用系统的程度。例如,游戏的运行必须保证随时可以,不能在一段时间内,游戏产生不可预见的错误而致无法运行等。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸54 总体设计总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构和功能模块。4.1 系统开发4.1.1 系统开发的原则经过需求分析阶段的工作,系统必须“做什么”已经明确,而系统开发是要明确“怎么做”。总体设计的基本目的就是回答“ 概括地说,系统应该如何实现? ”这个问题,因此,总体设计又称概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但每个物理元素仍然处于黑盒子级,这些黑盒里的具体内容在详细设计中。总体设计的另一项重要的任务就是设计软件的结构,也就是确定系统中每个程序是由哪些模块组成,以及这些模块相互之间的关系。总体设计过程首先寻找实现目标系统的各种不同的方案。然后从这些提供的选择方案中选取若干合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统所有元素,进程成本、效益分析,并且制定实现此方案的进度计划。通常,设计出初步软件结构后还要进行多方改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。基于上面的叙述,在详细设计之前先进行总体设计的必要性:可以站在全局高度上,花较少的成本,从较抽象的层次上分析对比多种系统方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低的成本开发出较高成本的软件系统。4.1.2 系统设计阶段系统设计阶段的主要目的是确定软件如何做的问题。主要任务是确定系统中的大模块和设计方法,确定软件的功能模块和模块作用、组成、关系等。本系统是一款较为传统的游戏,当玩家打开游戏,显示游戏界面,设置游戏难度之后便可开始游戏。当玩家找不到通往出口的路径时,可以点击“显示路径”按钮来显示一条从入口到出口的通路,不过这样的机会只有一次。也可以在此选择“绘制地图”,选择同一难度的其他地图样式,重新开始游戏。当玩家自己找到出口时,游戏便会提醒“恭喜您,已找到出口!”。4.1.3 结构设计阶段经过系统设计阶段的思考和实践,需要对功能结构进行细致的划分。一个程序的结构设计的好坏也需要决定其发展的重要指标。对一个程序的模块划分往往也能是程序设计变得简单。本游戏的模块大致分为后台引擎和用户界面两大块,界面模块包括总体界面设计和设置界面设计。后台引擎模块包括深度优先迷宫生成算法和普里姆迷宫生成算法。除此之外,还包括一个主界面控制类,用于界面算法和界面生成之间的连接控制,还有一个点类,主要用于定义点的相关操作,一个迷宫生成的接口类,类中声明了迷宫生成算法所需要定义的三个方法。以为不做具体定义,所以被称为接口类。其功能模块图如下:太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸6图 4-1 功能模块图4.2 相关算法介绍算法是解题方案的准确而完整的描述,其代表着用系统的方法描述解决问题的策略机制。算法就相当于对一定规范的输入,在有限的时间内获得所要求的的输出。描述算法的方法有好多种,常用的自然语言、结构化流程图,伪代码等,其中最普遍的就是流程图。本设计除了实现迷宫的相关功能之外,还着重就实现迷宫的算法进行研究,通过算法及实现迷宫的特点比较深度优先算法和普里姆算法在迷宫生成方面的优劣性。4.2.1 深度优先算法生成迷宫介绍DFSMap 类使用深度优先算法得到地图的类。设置一个二维数组,数组的值为格子的状态。初始地图的上所有的格都设为墙,不可达。之后,再定义出口和入口,也将其设置为背景,可以被访问的通道。这样,生成的迷宫中显示的是每一个格子的四面都是墙。从入口点开始向四个方向中的一个随机访问,每找到一个可被访问的点,就去掉该点上的墙,可被访问的点继续以这样的方式向下进行下去。对每个已被访问的格子都设置为已访问。当一个点对某一方向进行访问时,首先需要根据判断条件判断被访问的点是否被访问过,或者处于边界,若该点的四个方向已经被访问或者无法访问,就退回上一个点,而上一个点需重复进行这一过程。这样一次遍历过后,可以确保每一个可被访问的点均被访问过。由于每次访问的方向是随机的,这样导致许多种不同的遍历情况,因为形成了不同的迷宫。所以迷宫的形成是堆积的,但是从起点到终点只有唯一路径。在算法上,只要是利用栈来实现。第一次先将第一个起始点入栈,之后每访问一个点就将该点入栈,之后再对栈顶点的四个方向进行随机访问。若访问到新点,就将新点入栈,直到这个点的四个方向都无法访问时,将该点出栈。然后利用栈顶的点继续朝着四个方向访问。以此类推,直到所有的点全被遍历过,遍历就结束了,这样就形成了迷宫地图。深度优先算法生成迷宫的流程图如图 4-2。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于Java的迷宫游戏.rar
    链接地址:http://www.gold-doc.com/p-116467.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开