迷宫游戏设计报告2

迷宫游戏设计报告2

ID:35238009

大小:389.00 KB

页数:31页

时间:2019-03-22

迷宫游戏设计报告2_第1页
迷宫游戏设计报告2_第2页
迷宫游戏设计报告2_第3页
迷宫游戏设计报告2_第4页
迷宫游戏设计报告2_第5页
资源描述:

《迷宫游戏设计报告2》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、人工智能程序设计------迷宫游戏计算机013班郭玥01095302人工智能与专家系统课程设计---------迷宫游戏31人工智能程序设计------迷宫游戏计算机013班郭玥01095302目录序言-------------------------------------------------------------3算法详解-------------------------------------------------------3程序代码内容与说明程序各个全局变量的声明-------------------------

2、--------7主体程序的实现----------------------------------------------8执行结果演示------------------------------------------------15设计心得体会------------------------------------------------17参考书目------------------------------------------------------17附录:程序源代码--------------------------

3、----------------18序言“人工智能”也就是所谓的AI(artifical31人工智能程序设计------迷宫游戏计算机013班郭玥01095302intelligence),它是一门抽象的技术,人工智能程序的编写不需要遵循任何即定的思考模式或者规则,而游戏中的AI完全按照程序员自己的思考逻辑而发展。这就是说,程序员越是聪明越是能够写出更为精明的计算机人工智能程序,这和程序员自身的条件有着很大的关系。如果对于一个很陌生不熟悉的游戏领域,程序员从来没有接触过,这样即使有很高的编程水平,也没有办法实现我们想要达到的目标,根

4、本不可能在游戏中将所有的情况包罗其中。人工智能具有特定的三种思考模式,分别为移动模式,行为模式和策略模式。顾名思义,给定一个物体移动路径的公式,物体按照这样的公式来移动的就是移动模式。这种情况很多见,例如:某个物体追着玩家跑,目标射击等等。它又可以分为固定模式移动,追逐移动,躲避移动。策略型人工智能是AI中比较复杂的一种,最常见的运用策略型AI游戏是棋盘类的游戏,通常计算机必须判断目前情况下所有可走的棋步和可能获胜的情况,并计算目前计算机可走棋步的制胜分数或者是玩家可走棋步的制胜分数,最后决定出最佳的走法。行为型AI在游戏中是经常会

5、运用到的,它的主要意义是物体会随着情况的改变来做出一些行为动作,而这些物体可以是游戏中的主角、怪物或者是四周环境中的物品。而此次迷宫游戏的设计也是属于人工智能中的行为模式。算法详解l路径搜寻的概念路径搜寻与行为型人工智能有直接的关系。在迷宫游戏中,涉及路径搜寻时必须设定物体的一些走出迷宫的法则。如前面有路时就往前走,前面的路走过就往没走过的地方走等。这些法则必须确实可以让物体搜索迷宫中的每一块区域来找到出口,若走迷宫的法则设定得不完整,那么物体就有可能在同一个地方兜圈子,永远找不到出口了。此外,为了让物体在走出迷宫后能知道正确走出迷

6、宫的路径,必须给物体一张地图来记录所走过的路径,这张图就是一个链表结构,当物体成功走出迷宫后,整个链表就是正确走出迷宫的路径。如图1所示图1图1中,实线部分为小球走迷宫的最短路径,依照走迷宫的规则每移动到新一格时,该区域就被增加到链表中,而当走过的区域并非正确路径时(图中虚线部分),则从链表中删除。例如:上图中虚线部分为小球所走过的区域,但小球进入该区域后发现是死路,因此必须倒退,每倒退一格时,就表示该格不是正确路径,因此从链表中删除;最后,当小球走出迷宫后,正确路径便会记录在链表中。31人工智能程序设计------迷宫游戏计算机0

7、13班郭玥01095302l搜寻最佳路径在这个迷宫路径搜寻的程序中,我以一颗小球来走迷宫,小球会自动搜寻到迷宫的入口,接着自动找寻出口,当找到出口后便记录着正确走出迷宫的路径,按[F2]键察看此最短路径。l定义迷宫的方式使用一个整数的二维数组maze[8][8]来存储整个迷宫的状态。如图2入口出口图2定义数组时,设定出口元素值为3,入口的元素值为2,墙元素值为1,通道的元素值为0。图2中,代表入口的数组元素为maze[0][1],同时,以变量m,n分别代表数组一维与二维的索引值,具体如下所示:maze[m][n]=3//出口maze

8、[m][n]=2//入口maze[m][n]=1//墙maze[m][n]=0//通道l双向链表的使用在程序中我使用双向链表记录小球所走过的路径,结构定义如下:structlist//定义链表结构{31人工智能程序设计------迷宫

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。