【发布时间】:2016-07-14 17:51:57
【问题描述】:
我一直在研究 A* 寻路算法的 C# 实现,现在我已经设法让它找到从起点到目的地的路径,我想知道如何选择最佳路径。
为了澄清,如果我让程序找到一条从黄色边框的正方形到绿色边框的正方形(深灰色正方形不能越过)的路线,程序会将所有红色正方形添加到它的 '封闭的'阵列。
如您所见,这不是直接路线。我如何从封闭数组中获取实际路径?顺便说一句,我禁用了对角线移动。
【问题讨论】:
-
A* 算法已经选择了最好(最便宜)的路径。您的实现可能不正确。
-
@itsme86 不完整,而是
-
是的,对不起。不完整。我发现此页面 (policyalmanac.org/games/aStarTutorial.htm) 在前段时间实现我自己的 A* 算法时非常有用。
-
@itsme86 以“那么我们如何确定路径?”开头的段落似乎回答了我的问题。谢谢!顺便说一句:您可能想发布要点作为答案,以便我接受它
-
什么是“非直达路线”?在 A* 中(就像在大多数寻路算法中一样),您知道每个访问节点的来源......您似乎暗示该路径将包括所有访问节点 - 为什么?
标签: c# algorithm performance path-finding