所以我正在尝试创建一个迷宫求解程序来解决 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