存储 AI 路径的节点坐标



我目前正在开发一款游戏,遇到了一些问题。

我正在研究一种算法,该算法将为AI角色在游戏中创建一条路径。这是一款自上而下的冒险游戏,AI 将在 50 x 50 的地图上随机选择一个位置,然后采取最短的路径,同时考虑到障碍物。

我最初拥有它,以便AI将使用0-3来确定如何移动。如果为 0,则它们向上移动,1,向右移动,依此类推。现在我正在尝试使用 A* 算法来创建移动列表。一旦他们到达,他们将选择一个新的目的地,这个过程将重复。

我遇到的问题是存储方块。据我了解,您需要一个封闭列表和一个开放列表。我计划为这些使用链表,然后最终使用第三个链表来存储要遵循的路径。

问题是我需要同时存储 x 和 y 坐标。我以为我可以为每个列表使用两个列表,但这似乎效率低下。

顺便说一下,我正在使用Java来编程。

与其为每个坐标列出列表,只需将 x 和 y 包装到一个类中即可。您可以使用 Point 类或自己存储 x 和 y 并实现比较以帮助进行 A* 搜索。您还可以查看 Java 中 A Star (A*) 算法的实现

最新更新