我正在为基于网格的自上而下游戏进行 A* 寻路。我遇到的问题可能在下图中最容易理解。星号是玩家/NPC。黄色星号是当前想要前往 X 的 NPC。红色星号是在这种情况下是障碍物的 NPC。黄色单元格是墙壁,白色单元格是地板。虽然通往目标的整个路径确实无法到达,但我仍然想找到通往下一个最佳位置的路径(在这种情况下,点编号为 8)。
我可以很容易地让它绕过障碍物,但不确定如何完全按照我的描述去做。如果我在它遇到障碍物后停止它,它不会在 3 处停止正常运行。如果我重新路径到封闭列表中与最终目标距离最短的图块,如果最终目标在另一个以墙的一侧为例,它也会把事情搞得一团糟。
有什么建议么?我觉得我错过了一些明显的东西,所以请原谅这里的白痴。
谢谢,蒂姆