A寻路算法在游戏中应用.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
A寻路算法在游戏中应用

A寻路算法在游戏中应用   摘要:寻路是游戏开发中中非常重要的一个元素,如何高效的找到一条最短的路径是游戏AI设计的基础之一,本文比较了A*算法相对于普通的深度有哪些信誉好的足球投注网站及广度有哪些信誉好的足球投注网站在路径有哪些信誉好的足球投注网站上的优势,探讨了A*算法的原理及实现以及如何在游戏中使用A*算法实现路径探索。   关键词:游戏开发 人工智能 状态空间有哪些信誉好的足球投注网站 A*算法   中图分类号:TP301 文献标识码:A 文章编号:1007-9416(2012)06-0135-01   近年来,随着游戏产业的发展,越来越多的游戏开始采用人工智能技术提高游戏的可玩性。在游戏中,玩家操控主要角色,而其他角色的行为逻辑由人工智能操纵。大部分游戏在开发过程中都会遇到路径探索问题:即如何快速、准确地计算出游戏角色从地图中的A点到达B点的一条路径,优秀的寻路算法一直是游戏开发者追求的目标,同时也是人工智能基础算法之一。   1、常见状态空间有哪些信誉好的足球投注网站算法   当求解一个问???时,由于求解问题的过程中分枝有很多,使得求解的路径很多,就构成了一个图,这个图称之为状态空间,问题的求解就是在这个图中找到一条路径可以从开始到结果,这个过程就叫做状态空间有哪些信誉好的足球投注网站。常见的状态空间有哪些信誉好的足球投注网站有深度优先和广度优先,深度优先即是先按照一定的顺序有哪些信誉好的足球投注网站完一个分枝再有哪些信誉好的足球投注网站另外一个分枝,广度优先即是从起点开始一层一层向下找,直到找到目标为止。它们在状态空间规模不大时是一个好的选择,但是它们有一个很大的缺陷就是在状态空间中穷举,当状态空间很大时,要有哪些信誉好的足球投注网站的节点数就会增长很快,效率很低,这时就需要用到启发式有哪些信誉好的足球投注网站了。即是在有哪些信誉好的足球投注网站时对下面将要有哪些信誉好的足球投注网站的每一个位置进行价值评估,这样就可以省去大部分无谓的有哪些信誉好的足球投注网站过程从而提高有哪些信誉好的足球投注网站效率。   2、A*有哪些信誉好的足球投注网站算法   启发式有哪些信誉好的足球投注网站也有很多的算法,如局部择优有哪些信誉好的足球投注网站法、最好优先有哪些信誉好的足球投注网站法等,这些算法都使用了启发函数,区别在于选取最佳有哪些信誉好的足球投注网站节点时的策略不同。局部择优有哪些信誉好的足球投注网站法,就是在有哪些信誉好的足球投注网站的过程中选取最佳节点后舍弃其他的节点一直有哪些信誉好的足球投注网站下去。这种有哪些信誉好的足球投注网站的结果很明显,由于舍弃了其他的节点,可能也把最好的节点都舍弃了,因为求解的最佳节点只是在该阶段的最佳并不一定是全局的最佳。但最好优先在有哪些信誉好的足球投注网站时,没有舍弃节点(除非该节点是死节点),在每一步的估价中都把当前的节点和以前的节点的估价值比较得到一个最佳的节点,从而有效的防止最佳节点的丢失。   A*有哪些信誉好的足球投注网站算法从本质上讲是一种加上了约束条件的最好优先有哪些信誉好的足球投注网站算法,用于在一个二维网格中寻找一条从指定点到另一点的最短路径。使用A*有哪些信誉好的足球投注网站算法之前要把问题简化为一个二维网格。   如果在一个二维网格中,A为起点,B为终点,如果一个人要从A点走到B点应该怎么走呢?我们做如下操作:   (1)从点A开始,并且把它作为待处理点,存入一个“开启列表”。开启列表就像一张购物清单。尽管现在列表里只有一个元素,但以后就会多起来。你的路径可能会通过它包含的方格,也可能不会。它只是一个待检查方格的列表。(2)寻找起点周围所有可到达或者可通过的方格,跳过标记为无法通过的方格。把他们加入开启列表。保存点A作为所有这些方格的“父方格”。(3)从开启列表中删除点A,把它加入到一个“关闭列表”,关闭列表中保存所有不需要再次检查的方格。接着,我们选择开启列表中估计值最低临近方格。每个启发式有哪些信誉好的足球投注网站算法都有一个估价函数,A*有哪些信誉好的足球投注网站算法的估价函数是F=G+H,G从起点A,沿着产生的路径,移动到指定方格的移动耗费,H从指定方格移动到终点B的预估移动耗费。这里计算从当前格到目的格之间的距离的平方。为了继续有哪些信誉好的足球投注网站,我们简单的从开启列表中选择F值最低的方格。然后,对选中的方格做如下处理:(4)找到F值最低的方格,把它从开启列表中删除,然后添加到关闭列表中。(5)检查所有相邻格子,如果他们还不在开启列表里面的话,把他们添加进开启列表。把新的方格作为选中的方格子节点。跳过那些已经在关闭列表中的或者不可通过的。(6)如果某个相邻格已经在开启列表里了,检查现在的这条路径是否更好。换句话说,检查如果我们用新的路径到达它的话,G值是否会更低一些。如果不是,那就什么都不做。如果新的G值更低,那就把新的方格的父节点设为目前选中的方格。按此方法,不断的找更低的F值,寻找下一个要处理的方格,直到B方格被加入到关闭列表为止,从B方格开始一直找它的父节点知道A方格,这条路径即是A,B间的最短路径。如果B点没有被加入关闭列表,则说明B点不可到达。   3、在游戏中使用A*有哪些信誉好的足球投注网站算法   首先把游戏中的地图划分为一个个小方格,用二维数组来表示,方格的位置用数组的下标来表示。可通过的方格,其数组的值赋为0,不可通过的赋为1,然后把NPC所在的位置坐标及目标地点的坐标转变为所在方格在数组中的索引,在这个数组中使用A*寻路算法,然后把找到的路径数组索引转化为地图上的坐标加入到NPC的路径列表里面,NPC就依次

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档