我正在编写一个小游戏,比如C#中的矮人堡垒。我有一个数组,有对象,这些有一个属性,表明对象是否可以通过,这意味着你必须走动它。 我现在想让玩家有机会说矮人应该从位置x,y走到x,y。但是这个矮人必须找到从当前位置到所需位置的最快(或至少一种)方式。 我只是不知道如何实现这个功能,矮人会自动找到从当前位置到所需位置的方法。因为它们可能需要经过一条有很多曲线的长走廊,而这条走廊也许又往后走,然后再往前走,在走廊后面可能有自由的土地,但是它必须再次通过一个困难的走廊到达所需的地点。我知道它描述得不是很好,因为英语不是我成熟的语言,而且很难解释我的意思。但只要问我是否需要更多信息,我会尽我所能。
所以现在再次总结: 我希望有一种方法可以找到从一个位置到另一个位置的方法,无论方式多么强大,即使它是一个迷宫,它也必须这样做。我的意思是,这是我在大多数游戏中编程的,比如定居者和矮人堡垒等。
答案 0 :(得分:1)
我会将此数组视为图形,并使用Depth-first search或Breadth-first search算法遍历它。
Here也提供了使用DFS和2D数组
的几点提示答案 1 :(得分:1)
答案是使用A *(星形)算法