游戏角色找到最快的目标方式(寻路)

game character find fastest way to target (pathfind)

我正在编写一个小游戏,比如用 C# 编写的矮人要塞。我有一个数组,里面有对象,这些确实有一个 属性,指示对象是否可以通过,这意味着你必须绕过它。 我现在想让玩家有机会说矮人应该从位置 x,y 走到 x,y。但是这个矮人必须找到从当前位置到所需位置的最快(或至少一种)方式。 我只是不知道如何实现此功能,小矮人会自动找到从当前位置到所需位置的方法。因为可能他们必须经过一个有很多弯道的长走廊,而这条走廊也可能会后退然后再前进,在走廊之后可能有空地,但随后它必须再次经过一个困难的走廊才能到达所需的位置地点。我知道它描述得不是很好,因为英语不是我成熟的语言,很难解释我的意思。但只要问我是否需要更多信息,我会尽力而为。

所以现在再总结一下: 我想有一种方法可以找到从一个位置到另一个位置的方法,无论方法有多强大,即使它是一个迷宫,它也必须这样做。我的意思是,这是我在大多数游戏中编程的,比如定居者和矮人要塞等

我会将此数组视为一个图形并使用 Depth-first search or Breadth-first search 算法遍历它。

Here 也是一些关于将 DFS 与 2D 数组一起使用的提示

答案是使用 AN*(A 星)算法