迷路 作成
このツールは「再帰的バックトラック」と呼ばれる深さ優先探索で迷路を作ります。どのマスからどのマスへも道はちょうど1本なので、左上の入口から右下の出口までの道もひとつだけです。
使い方
- 小さな子ども向けの10×10から、手ごたえのある40×40までサイズを選び、「新しい迷路」を押します。
- 「答えのルートを表示」を押すと、左上の入口から右下の出口までの道が表示されます。もう一度押すと消えます。
- 「印刷」で迷路だけを印刷します。解答用紙がほしいときは、先に答えのルートを表示してください。
- 迷路にはそれぞれ番号があります。同じ番号とサイズを入力するか、リンクを共有すれば、まったく同じ迷路をもう一度出せます。
計算方法
迷路は再帰的バックトラック(深さ優先探索)で掘っていきます。すべての壁が閉じた状態でランダムなマスから始め、まだ通っていない隣のマスをランダムに選んで、その間の壁を壊しながら進みます。行き止まりに着いたら、来た道を戻って未訪問の隣があるマスを探します。
すべてのマスを一度ずつ訪れ、1歩ごとに壁をひとつだけ開けるので、ループのない「完全迷路」になります。全マスがつながっていて通路の数はちょうど(マス数 − 1)、どの2マスの間にも道は1本だけです。この方法は分かれ道が少なく、長く曲がりくねった通路ができやすいのが特徴です。
答えは入口からの幅優先探索で求め、最短ルートを出します。完全迷路は道が1本しかないので、それがそのまま答えです。
迷路番号は疑似乱数のシードです。同じシードとサイズからは必ず同じ迷路ができるので、番号を伝えれば迷路を共有できます。
迷路のサイズ
| サイズ | マス数 | 向いている人 |
|---|---|---|
| 10×10 | 100 | 幼児 |
| 15×15 | 225 | 小学校低学年 |
| 20×20 | 400 | 気軽なパズルに |
| 30×30 | 900 | 中高生や大人 |
| 40×40 | 1,600 | じっくり挑戦したい人、用紙いっぱいに印刷がおすすめ |
よくある質問
どの迷路も必ず解けますか?
はい。すべてのマスがつながっていて、左上の入口と右下の出口が開いています。その間の道はちょうど1本です。
子どもにはどのサイズがいいですか?
幼児には10×10、小学生には15×15や20×20がちょうどよく、30×30や40×40は大人でも歯ごたえがあります。大きいサイズは用紙いっぱいに印刷しましょう。
同じ迷路をもう一度出せますか?
出せます。迷路番号とサイズを控えておくか、リンクを共有してください。同じ番号とサイズを入れれば必ず同じ迷路になります。
なぜ長くくねくねした道が多いのですか?
再帰的バックトラックは戻る前に行けるところまで深く進むので、ほかの作り方より長い通路ができ、短い行き止まりが少なくなります。
データはアップロードされますか?
されません。迷路はブラウザの中で作って描いています。