▶ 実 行
▶ 実行
クリア
迷路自動生成(棒倒し法)
by クジラ飛行机
迷路=55の迷路作成。 迷路を迷路表示。 # 2(ゴール)を右下に設定 迷路[53][53]=2 迷路を表CSV変換して表示。 ●(列数の)迷路作成とは # 迷路データを全部0で初期化 --- (*1) 迷路は[] Yを0から(列数-1)まで繰り返す 迷路[Y] = [] Xを0から(列数-1)まで繰り返す 迷路[Y][X] = 0 ここまで ここまで。 # 外周を壁にする --- (*2) Nを0から(列数-1)まで繰り返す 迷路[N][0] = 1 迷路[N][列数-1] = 1 迷路[0][N] = 1 迷路[列数-1][N] = 1 ここまで。 # 2マスに1つ壁を配置する --- (*3) Yを2から(列数-3)まで繰り返す Xを2から(列数-3)まで繰り返す もし(X%2=1)または(Y%2=1)ならば続ける。 迷路[Y][X] = 1 # 上下左右のいずれかを壁にする --- (*4) (4の乱数)で条件分岐 0ならば、迷路[Y-1][X] = 1💧。 1ならば、迷路[Y+1][X] = 1💧。 2ならば、迷路[Y][X-1] = 1💧。 3ならば、迷路[Y][X+1] = 1💧。 ここまで。 ここまで ここまで。 それは迷路 ここまで。 ●(迷路を)迷路表示とは # --- (*5) 壁幅=8 列数=迷路の要素数。 Yを0から(列数-1)まで繰り返す Xを0から(列数-1)まで繰り返す V = 迷路[Y][X] 灰色に線色設定。 もしV=0ならば、白色に塗り色設定。 違えば、茶色に塗り色設定。 [X*壁幅, Y*壁幅, 壁幅, 壁幅]に四角描画。 ここまで。 ここまで。 ここまで。