私は迷路を作っています。ここで定義されている再帰的な方法を使用したいと思います。ただし、ランダムに線を引いた後、ランダムに線を開く方法については、助けが必要です。今は、始点と終点のx座標とy座標で線(迷路の壁)を描くだけで線(迷路の壁)を作成しています。線の一部を「消去」(または「開く」)する簡単な方法が見つからないようです。
編集:さて、もう少し具体的にする必要があります。各行の場所をランダムに選択して「開く」にはどうすればよいですか?
編集2:これが私がやろうとしていることのいくつかのコードです:
public static void draw() {
// picks a random spot in the rectangle
Random r = new Random();
int x0 = r.nextInt(w)
int y0 = r.nextInt(h)
// draws the 4 lines that are perpendicular to each other and meet
// at the selected point
StdDraw.line(x0, 0, x0, y0);
StdDraw.line(0, y0, x0, y0);
StdDraw.line(x0, h, x0, y0);
StdDraw.line(w, y0, x0, y0);
}
public static void main(String[] args) {
// set up the walls of the maze
// given w = width and h = height
StdDraw.setXscale(0, w);
StdDraw.setYscale(0, h);
StdDraw.line(0, 0, 0, h);
StdDraw.line(0, h, w, h);
StdDraw.line(w, h, w, 0);
StdDraw.line(w, 0, 0, 0);
draw();
}
ここで、これらの行のうち3つをランダムに選択し、各行についてランダムに一部を消去する方法を理解する必要があります。