我有一张像这样的5x5地图:
**C** - is where I am(random)
**.** - is a passable tile
**X** - is not a passable tile
**D** - is destination.
我的问题是当我无法水平或垂直传递图块时如何进行算法。例如,我需要向上移动两个瓦片,但我无法垂直传递瓦片,因此我有两个选择:向左或向右然后向上移动。
然而,其中一个可能会失败,我将不得不返回一些步骤并尝试另一条路线。我不知道怎么做逻辑。
感谢。
答案 0 :(得分:0)
您需要了解回溯,请查看以下链接http://www.thegeekstuff.com/2014/12/backtracking-example/
此外,回溯跟踪是一种方法,您可以通过在堆栈中将其推入堆栈来跟踪路径,当您必须从堆栈返回时。