Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールが役に立ったら、開発者にコーヒーを奢ってください ☕
サイズ・アルゴリズム・出口・シード値を指定して、同じ迷路を再現できます。最短経路や距離ヒートマップの表示、オンラインプレイ、SVGダウンロードにも対応しています。
迷路の設定
サイズ、生成アルゴリズム、出口の配置を調整して、同じ条件で再現できるグリッド迷路を生成します。
長い通路が多く分岐が少ないため、テンポよく解ける迷路になります。
同じサイズ、アルゴリズム、出口の配置、シードを指定すると、まったく同じ迷路を再生成できます。
6wgykor915×15のマスで構成された迷路には数百もの分岐を作れますが、スタートからゴールまでの正解ルートは重複のない1本だけです。ページ上部の生成ツールでは、幅・高さ・アルゴリズム・出口の配置・シード値をまとめて設定できます。生成した迷路は、オンラインで遊ぶほか、授業での実演や印刷用の問題にも利用できます。
マス目の迷路は、部屋と通路で構成されたグラフとして捉えられます。各マスがノードに相当し、隣り合うマスの間に壁があるかどうかで接続関係が決まります。生成時は、まずすべての壁を作り、アルゴリズムに従って隣接するマス間の壁を順に取り除きます。最終的に、全マスを結ぶ全域木が完成します。この構造では、どのマスからでも別のマスへ移動でき、正解ルートにループが生じません。同じ入力条件では決定的な疑似乱数列を使用するため、同じシード値を指定すると、壁・スタート・ゴール・最短経路を同じ状態で再現できます。
| アルゴリズム | 通路の特徴 | おすすめの用途 |
|---|---|---|
| 再帰的バックトラッキング | 長い通路ができやすく、連続する曲がり角が少ない。行き止まりは深くなりやすい | 初めて迷路に挑戦する場合や、テンポよく解きたい場合 |
| ランダムPrim法 | 短い枝道と分岐が多く、全体に均等に広がりやすい | 距離の広がりの観察や、中程度の難易度の問題作成 |
| ランダムKruskal法 | 複数の小さな領域を順に結合するため、経路が比較的バランスよく分布する | 印刷問題、アルゴリズムの授業、構造の比較実験 |
たとえば同じ20×20でも、再帰的バックトラッキングでは広い範囲を貫く長い通路ができやすく、ランダムPrim法では複数の方向へ枝が伸びるような形になります。ランダムKruskal法では、局所的な構造が比較的分散します。サイズとシード値を変えずにアルゴリズムだけを切り替えると、見た目や攻略テンポの違いを比較できます。
左右を選ぶとスタートとゴールが迷路の左右に、上下を選ぶと上端と下端に配置されます。どちらもレイアウトが分かりやすく、プリント教材に適しています。「最長ルート」は壁を単純に増やす機能ではありません。生成後の通路距離を基に、より離れた端点を探し、正解ルートが多くのマスを通るようにします。ただし、難易度はアルゴリズムやサイズ、プレイヤーの見方にも左右されます。2つの迷路の実際のルート長を比べる場合は、キャンバスの大きさより最短手数が適切な目安になります。
10×10の迷路でも、最短経路が25手程度の場合もあれば、50手を超える場合もあります。生成結果の見出しにはサイズと最短手数が表示されるため、出口の配置を変えた際のルート長の変化をすぐに確認できます。より複雑な問題を作るなら、同じサイズで何度も生成するより、まずサイズを大きくしてから「最長ルート」を選ぶのがおすすめです。
「最短経路を表示」をオンにすると、スタートからゴールまでの唯一の正解ルートが描画されます。答え合わせ、探索アルゴリズムの解説、解答付き教材の作成などに利用できます。「距離を表示」では、スタートから各マスまでの最短手数に応じて色分けされ、探索範囲が外側へ広がる様子を確認できます。ヒートマップはプレイヤーが実際に通ったルートを示すものではなく、壁の配置も変更しません。非表示に戻しても迷路自体は変わりません。
授業では、最初に答えを隠して生徒に出口を探してもらい、その後で最短経路を表示して答え合わせができます。さらに距離ヒートマップを表示すれば、幅優先探索がマスを階層ごとに調べる仕組みを説明できます。迷路にはループがないため、スタートから各マスへの経路は1本だけで、距離の値も一意に決まります。
「プレイ開始」をクリックした後、キーボードの矢印キーまたはWASDキーで現在位置を移動できます。スマートフォンやタブレットでは、画面上の方向ボタンを使用できます。ステータス欄には手数と経過時間が記録され、ゴールに到着するとクリアメッセージが表示されます。「最初から」をクリックすると、現在の迷路のスタート地点へ戻ります。壁は生成し直されません。別の迷路に挑戦する場合は、「新しい迷路を生成」をクリックしてください。
SVGはベクター形式のため、拡大して印刷しても壁の線が鮮明です。ダウンロード前に最短経路の表示を切り替えることで、解答版と問題版をそれぞれ作成できます。距離ヒートマップは画面上での分析に向いていますが、印刷問題では色がルート判断の妨げにならないよう、非表示にすることをおすすめします。ファイル名には現在のシード値が含まれており、後から同じ値を入力すれば元の問題を再現できます。
生成処理にはグラフ理論の全域木を利用し、深さ優先探索によるバックトラッキング、ランダムPrim法、ランダムKruskal法をそれぞれ実装しています。最短経路と距離データは、迷路内の通路を幅優先探索して算出します。機能設計では、Selfbootの迷路ページのインタラクティブな操作性を参考にしながら、ToolKKの共有パラメータ、利用統計、レスポンシブレイアウト、SVG書き出し方式に合わせて再設計しました。ページ上部でサイズとシード値を設定し、再現可能な迷路を生成してみましょう。