这次我们来讲一下代码中涉及的一些路径规划算法,在这个游戏中,路径规划虽然不属于人工智能但是确实实现AI算法不可或缺的基础方法,下面就来大致介绍一下有哪些主要的方法以及这些方法的实现。
(1)getApproximateNextMoveTowardsTarget:这个实现的是得到是起始点到目标点的大致的运动,为什么叫大致呢,因为这里没有考虑障碍物等因素。这个函数还可以用在A*算法上(A*算法后面会专门讲)。代码如下:
public MOVE getApproximateNextMoveTowardsTarget(int fromNodeIndex, int toNodeIndex,
MOVE lastMoveMade, DM distanceMeasure) {
MOVE move = null;
double minDistance = Integer.MAX_VALUE;
for (Entry<MOVE, Integer> entry : currentMaze.graph[fromNodeIndex].allNeighbourhoods.get(
lastMoveMade).entrySet()) {