A*被誉为大众级寻路算法,常用于获取两个坐标的最短路径,属于AI(人工智能)范畴,最近自己开发了一套php版本的A*寻路算法类,想要直接使用的朋友可以借鉴下。可以在我的空间里面看具体的调用部分,类库我会尽快上传。
先说下A*的算法思路吧,首先,要有一个地图,其实寻路就是在一块块的方格子里面的中心点间进行移动,地图的话我这里用的是一个二位数组矩阵(如图):
这就是一张简单的地图了!你可以自由编辑或者是扩容,把他想想成游戏中的场景地图。
其次就是一个核心的公式:f = g + h 。地图中走哪些点,先走哪个点后走哪个点就靠这个公式啦!
(一)f 值代表这当前坐标点到达终点的一个预判距离,值越小表示距离越短,越优!