A *寻路算法的lua实现

游戏中有敌我双方,有四十个方格,当轮到我方武将行动的时候,要先显示出我方武将可以行动的方位,这个就涉及到我方武将的行动力的大小来决定,预先做出路径的预算。这里还要考虑敌方以及地标(例如:×××,势头)的阻挡,以及特殊方格对武将行动力的消耗以及敌方的间隔阻挡规则。

当碰到这个问题的时候,问老大选择用什么寻路算法,他推荐的是Dijstra算法,但我看了之后感觉还不是很适合我的需求,第一:我觉得Dijstra算法是有向图的最佳路径选择,节点之间路径长度必须先知晓,但我这里四十个方格如果要两两制定感觉稍微复杂,而且随着武将的移动,地图还是时时变化的,感觉更复杂第。二:Distra算法没有阻挡考虑,当然也可以记录若干路径然后考虑阻挡选择最优路径,我感觉也稍复杂。

然而我的第一反应该需求一个*算法挺接近的,然后咨询老大,老大说A *方格之间距离必须要均等不然比较复杂,然后再咨询公司其他稍有经验同事,当然各有个的说法,什么深度,广度遍历,感觉没一个确定的说法。让我选择就纠结了一天,不敢轻易选择,如果稍有考虑不慎,说不定就要做几天白用工,但最后我还是坚持自己的想法用*来实现。

 A *寻路算法的lua实现“> <br/> </p> <p>我们找到最后一个点的时候然后层层往之前找到他的父节点迭代到最后不为空结束</p> <h2> </h2> <p>点类</p> <p> <强>(平原)</>强,看待plaincopyprint ?</p> <ol开始== <李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

地形(迷宫)结构

<强>(平原)强,看待plaincopyprint ?

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>

<李>


<强>(平原)强,看待plaincopyprint ?null

A *寻路算法的lua实现