我想知道你是否可以使用Math.random方法生成随机0和1?
我需要填充一个二维数组,使它基本上像一个迷宫,1是路径,0是墙。
答案 0 :(得分:2)
随机路径的迷宫不再是一个有效的迷宫!迷宫中的路径是固定的,而不是随机的,尽管它们似乎是!比如说,
以上是一个有效的迷宫,但一旦路径是随机的,它就不再是一个有效的迷宫!(下图)
以下是maze generation codes的一些示例供您参考。
答案 1 :(得分:1)
正如我在评论中所提到的,如果你试图生成迷宫,我认为你不想随意。相反,请看一下这里的一些算法:
答案 2 :(得分:1)
是的,您可以使用以下方法生成随机0和1:
Random r = new Random( );
int[][] maze = ...
...
maze[x][y] = r.nextInt(2);
// or, equivalently, maze[x][y] = r.nextBoolean( ) ? 1 : 0;
然而,这不太可能产生一个非常好的迷宫。正如乔纳森所说,迷宫有结构(即不完全随机),你需要一个像样的迷宫构造算法。
答案 3 :(得分:1)
这样的事情应该有效:
int n = 10;
int[][] maze = new int[n][n];
Random rand = new Random();
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
maze[i][j] = rand.nextInt(2);
虽然我同意这些评论,但这不会给你很好的迷宫......