我目前正在开发一款游戏,但遇到了一些问题。
我正在研究一种算法,该算法将为游戏中的 AI 角色创建一条路径。这是一款自上而下的冒险游戏,AI 会在 50 x 50 的地图上选择一个随机位置,然后在考虑障碍物的情况下选择最短路径。
我最初有它是为了让 AI 使用 0-3 来确定如何移动。如果它是 0,它们向上移动,1,向右等。现在我正在尝试使用 A* 算法来创建移动列表。一旦他们到达,他们将选择一个新的目的地,这个过程将重复。
我遇到的问题是存储正方形。据我了解,您需要一个封闭列表和一个开放列表。我计划为这些使用链表,然后最终使用第三个链表来存储要遵循的路径。
问题是我需要同时存储 x 和 ay 坐标。我以为我可以为每个列表使用两个列表,但这似乎效率低下。
顺便说一句,我正在使用Java对其进行编程。