C#3D迷宫游戏的设计与实现+文献综述
时间:2017-04-12 12:42 来源:毕业论文 作者:毕业论文 点击:次
摘 要:迷宫是一个经典的数据结构算法的应用,涉及了搜索和遍历的最优方法,同时也是人工智能的一种研究方向。本程序采用软件工程的方法,以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) 递归分割:十分简捷,开销也少,生成的迷宫很容易再加工,有独特的风格,故选择其作为程序主要方法。 (责任编辑:qin) |