Java - 递归回溯迷宫中的问题

时间:2017-11-14 01:31:41

标签: java arrays recursion maze

在阅读this博客文章后,我决定使用它在Java中创建迷宫,以使用A *算法来解决。迷宫一代效果很好。我稍微修改了代码以使用Java&我的目的。

不幸的是,当我开始时我没有想到它,但是这个例子将它打印为ASCII。我希望它是一个二维数组,其中一个和零用于路径查找。

目前,它打印字符,例如宽度&高度= 10,它看起来像这样:

___________________
| |  _  |_    |_  |
| | |  _|  _| |   |
|___| |_  | | | | |
|  ___|  _| |___| |
|_  |_  |  _|  ___|
| |_____|  ___|   |
|      _| |  ___| |
| | |_|  _| | |  _|
|_|_________|_____|

我也把迷宫画到了GUI上。这个看起来像这样(它逆时针旋转90度,使(1,1)在左下角):

10x10 Maze

我目前将ASCII迷宫添加到二维String数组中。数组中字符串的可能值为:

" ",
"_",
"  ",
" _",
" |",
"_ ",
"__",
"_|",

是否有办法循环包含迷宫的数组,并根据ASCII迷宫中的下一个字符分配1或0?如果是这样,您如何解释水平线以上的额外空间,这些空间不会被识别为开放空间?

1 个答案:

答案 0 :(得分:1)

只需在内部加倍,然后就可以转换

  • '_'到''(0以上1)
  • '|'到'█'(1以上1)
  • ''到''(0以上0)