摘 要:迷宫是一个经典的数据结构算法的应用,涉及了搜索和遍历的最优方法,同时也是人工智能的一种研究方向。本程序采用软件工程的方法,以Visual Studio 作为系统应用程序的开发工具,用C#作为开发语言,设计迷宫伪3D场景,迷宫地图和智能寻路主要模块;游戏者要时刻以3D场景为方向标准,以地图为整体导向,最终完成游戏。7105
关键词:数据结构;智能寻路;Visual Studio
The Design and Implementation of Maze Game
Abstract: Labyrinth is a classic application of data structure algorithm, relates to the optimal method to search and traversal, it is also a research direction of artificial intelligence. This maze game uses the method of software engineering, Visual Studio as the system application development tools and C# as development language, designed the maze pseudo 3D scene, the maze map and intelligent routing module; At the same time , the orientation need the player regard 3D scene as standard and the maze map as the whole guide, the player can achieve game finally.
Key Words: Data Structure;Intelligent Pathfinding;Visual Studio
目 录
摘 要1
1. 开发背景1
1.1 迷宫游戏设计的意义2
1.2 当前迷宫设计主要算法研究 2
1.3 开发目标2
1.4 开发使用技术介绍 2
2. 需求分析3
2.1系统需求3
2.2功能需求3
3. 系统设计4
3.1功能模块设计 4
3.2整体框架与布局的设计与实现 5
3.3系统功能模块详细说明6
3.4核心算法和数据结构介绍8
4.软件测试10
4.1测试方法10
4.2测试结果10
5.总结11
参考文献12
致谢13
迷宫游戏的设计与实现1.开发背景
迷宫,其实就是给定一个物体移动路径的公式,物体按照这样的公式来移动的就是移动模式。这种情况很多见,例如:某个物体追着玩家跑,目标射击等等。它又可以分为固定模式移动,追逐移动,躲避移动。迷宫游戏是一种行为型AI游戏,随着情况的改变来做出一些行为动作,而这些物体可以是游戏中的主角、怪物或者是四周环境中的物品,对于迷宫就是不同的通路。
1.1迷宫游戏设计的意义
迷宫游戏是一种常见的智力游戏,能锻炼人思文能力,综合分析能力和对时空的感知能力,同时对于设计人员也是一种思文和技术的锻炼,所以,选其作为我的研究课题。
用c#语言来编写这个游戏,通过对问题的分析,分解为生成迷宫地图,寻找迷宫路径,迷宫游戏三个问题来解决。
通过这次设计可让我们更深一步的了解栈的概念。在解决问题的过程中初步懂的如何去选择合适的方法去处理问题,提高解决问题的效率。
1.2当前迷宫设计主要算法研究
总的来说,迷宫生成算法有三大类:深度优先,广度优先,非图论型。一般来说,迷宫算法都是以上三类算法的衍生品,比如说,经典的Jamis Buck地下城算法就是深度优先的回溯随机版,而经典的Prim算法又是广度优先的深度随机版。因此,我挑选了三种经典的算法,并以文基百科的说明为准进行了实现,这三种算法是:
(1) 深度优先:将评估搜索改为随机搜索下一节点后即可用于迷宫生成,比Jamis
Buck的少了随机回溯,但结果类似故选之。
(2) 随机Prim:解决了广度优先算法深度相等的问题,进而可以生成更为自然随机的迷宫。同时就结果而言与Kruskal类似却比后者简捷,因此我选择它作为广度优先的代表。
(3) 递归分割:十分简捷,开销也少,生成的迷宫很容易再加工,有独特的风格,故选择其作为程序主要方法。 C#3D迷宫游戏的设计与实现+文献综述:http://www.751com.cn/jisuanji/lunwen_4891.html