论文总字数:18695字
摘 要
本文详细介绍了解决迷宫问题的设计与实现,主要是在windows环境下运行,采用的是Eclipse编程平台和JAVA语言编译。该设计主要完成了UI设计,迷宫生成和最短路径生成并介绍了一些相关的算法。在游戏设计章节中,主要介绍了迷宫的数据结构和设计思想等。最后对游戏进行测试得到各功能均通过的结果。
关键词:随机迷宫,最短路径,空间复杂度
The design and implementation of a maze game
Abstract
In this paper,it introduces how to solve the design the maze problem.The programe is based on windows,which uses the Eclipse programming platform and JAVA language.The design mainly completed the UI design,maze generation and the shortest path genertion.It also introduces some algorithm.In game design chapter,it mainly introduces the maze data structure and design ideas,etc.At last,we test the game and get all functions have passed.
Keywords:random maze,the shortest past,Space Complexity
目 录
第一章 绪论 1
1.1 引言 1
1.2 迷宫游戏研究现状 1
1.3 Eclipse平台及JAVA语言相关介绍 1
1.4 本文研究内容和其主要功能 2
1.5 游戏规则 2
第二章 相关算法介绍 3
2.1 迷宫随机生成算法 3
2.1.1 深度优先遍历算法 3
2.1.2 广度优先遍历算法 3
2.2 迷宫路径算法 4
2.3 迷宫最短路径算法 5
2.3.1 迪杰斯特拉算法 5
2.3.2 Floyd算法 7
2.4 本章小结 8
第三章 游戏设计 9
3.1设计模块 9
3.2游戏流程图 10
3.3 游戏设计思路 11
3.4设计实现 11
3.5 迷宫中的数据结构 11
3.6 Prim算法 12
3.7广度优先实现最短路径 13
3.8本章小结 14
第四章 游戏测试 15
4.1游戏操作测试 15
4.2游戏测试图示 15
4.3测试结果 19
总 结 20
致 谢 21
参考文献(References) 22
- 绪论
本章主要介绍了现今迷宫的一些专业技术和实现技术的平台和编程语言的介绍,简单例举平台与语言的优势特点。以此引出本文主要的研究内容和实现的功能,同时还介绍了游戏的规则。
1.1 引言
在现在迅速发展科技的社会上,游戏往往和人们的生活有着不可分割的联系。现代很多大型的角色扮演游戏(Role-playing game,RPG),第一人称射击游戏(First-person shooting game,FPS),动作游戏(Action Game,ACT)等游戏都是基于迷宫所构建出来的。这种迷宫构建的游戏,可能不用太多的思考能但是要的是一种耐心,往往玩家迟迟走不出,或是走了很久,以为快到出口的地方时,结果进入了死胡同,不断地往返再来,最终在不断地探索各种可能的方向寻到最后的结果,往往是耐人寻味的。这种经典的风格并没有因现在游戏种类的百花缭乱而失去它的魅力,反而吸引了更多的玩家。
1.2 迷宫游戏研究现状
随着科技的发展,在迷宫问题求解的设计实现中已有了许多高效便利的算法,在学术方面有基于脉冲耦合神经网络(Pulse-Coupled Neural Networks)[1]的迷宫路径优化,基于蚁群算法[2]的路径求解等,普遍的广度优先级算法[3]和深度优先级算法[4]更受一般程序员所使用,在这些基础上现在迷宫问题求解的设计往往是偏重于游戏方向,设计者们不过于强调算法的独特性和优化性能而是注重其自己构建出迷宫的风格与趣味性。比如,在迷宫探索的过程中增添一些解密动脑的元素,使玩家在枯燥乏味的寻路中更多的能通过思考来继续前进。再者通过迷宫的构建创建出策略角色扮演游戏(Strategy Role-Playing Game,S-RPG)来使得玩家能发挥自己的想象力来组织自己的战斗力去击溃敌人等。我相信更多更多的设计想法也今后我们的身边也会不断地出现把。
1.3 Eclipse平台及JAVA语言相关介绍
编写迷宫游戏用的是Eclipse,程序所用语言是JAVA。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就单单对它自身来说,它只是提供一个我们使用的框架和一些供我们需求服务,其还是一个具备各种便于开发的插件组件的开发环境。Eclipse本身还附带了一个标准的插件集,其中包括Java开发工具(Java Development Kit,JDK)。而且其包含了java.awt. javax.swing. javax.imageio .java.awt.event.[5]等类提供一个用户界面标准的实现,程序员只需要做的是通过预定义的接口的特定应用程序特定的东西来填满这个框架可以简化编程工作,大大减少了程序员编写的工作量,使得编程变得更加容易。之所以选择JAVA语言还因为其语法相之于C 是简单的,Java提供了一种机制,用于处理内存管理的错误,任意申请内存,Java系统会在适当的时候自动释放无用的内存资源,避免了C 中不断地申请内存导致耗尽系统资源最终死机。这种便利的机制节约了许多调试错误的时间。在Java中,也容易写出具有质量的代码。一方面,它自带的机制防止了内存泄漏的可能性,另一方面就是异常捕捉机制,它强迫你做最坏的打算。编写程序时,难免会遇到一些意外,比如文件无法打开、网络读取失败等特殊情况。在C 等语言中是依靠返回值来判断的,如果一句句地检查返回值,那实在是太麻烦了。从而,往往会忽略返回值的检查。在Java中,Java可以抛异常,并且使你不想进行任何操作也必须应答异常。比如编写时打开文件的代码,你不得不响应异常以防意外发生,否则程序根本不能够通过编译。此外JAVA还是目前企业比较成熟的平台。这是Java技术目前最活跃的两大领域之一。 Java技术的企业应用旨在提升企业竞争力,所以Java技术受到了许多企业的欣赏,在这类市场是同类技术中最大的。因此JAVA的开发供应商众多,。市面上许多的应用服务器、工具与构件可以选择,从高端的BEA WebLogic、IBM WebSphere等软件,到Tomcat、JBoss等开源的免费工具,一应俱全。最后谈谈Java和Web服务。Web服务是软件互操作历史上的里程碑,是技术发展的重要方向,是未来不可忽视的技术。Sun公司是Java语言的发明者,作为一个开放的跨平台的技术体系,Java在Web服务的开发方面起着非常重要的作用。Sun被接纳为促进Web服务交互组织WS-I的董事成员后,作为活跃的参与者和业界的领导者,对Web服务互操作性的促进,有着相当重要的意义,也为Java技术的含金量加上了关键的砝码。
1.4 本文研究内容和其主要功能
本文主要描述了如何解决迷宫路径问题并在这基础上实现一个简易的迷宫游戏,根据随机生成迷宫的算法生成一个规格为45*60的迷宫具有连接入口和出口的通路,遇墙则无法继续前行。玩家通过“w”,“a”,“s”,“d”来操作目标执行上下左右的移动。并且该设计拥有保存当前状态和载入保存状态的功能。迷宫地图的单位可以通过鼠标来改变墙壁和通路,还可以通过路径搜索的算法寻找通过终点的最短路径。
1.5 游戏规则
游戏规则主要让玩家操控键盘与鼠标进行,通过“w”,“a”,“s”,“d”来操作目标执行上下左右的移动,鼠标点击可以改变节点属性即通路改成墙,墙改成通路。几种节点属性介绍:
1.开始节点:该节点作为游戏开始时,控制单位的初始位置。
剩余内容已隐藏,请支付后下载全文,论文总字数:18695字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;