【发布时间】:2012-02-08 15:40:59
【问题描述】:
所以我正在尝试创建一个迷宫求解程序来解决 X 和 O 的迷宫。我想做的是创建一个点类,这样我就可以创建一个二维点数组,这将允许打印到输出页面以及实现堆栈相对简单。
我想在实际程序本身中实现的一般思想的最简单算法我认为应该是:
1) Move forward
2) Are you at a wall?
2a) If yes, turn left
3) Are you at the finish?
3a) If no, go to 1
3b) If yes, solved
但我无法提出更深入的算法,也无法确定我的 Points 课程。我知道对于点我应该设置 X 坐标,并设置 Y 坐标以及两者的吸气剂。你认为我需要比这两个更多的方法吗?比如,我是否应该创建一个传递 x 坐标和 y 坐标作为参数的方法,这样我就可以将它们作为一个整体推在一起,而不是单独设置 x 和 y?
这是一个示例迷宫的样子,从右下角开始,然后尝试遍历左上角,X 为墙,O 为迷宫中的空地:
O O O O O X O
X X O X O O X
O X O O X X X
X X X O O X O
X X X X O O X
O O O O O O O
X X O X X X O
【问题讨论】:
-
嗨哥白尼库,这是作业吗?
-
我会改用图形并使用 djikstras 算法来查找路径。已经有这方面的库。
-
你的迷宫有多个开口,那么可以在其中任何一个处结束遍历吗?
-
@DaveBall 哈哈,是的,你找到我了
-
@Copernikush:好的 - 我添加了适当的标签!