迷路を難しくする

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

迷路を難しくする

投稿記事 by usao » 6年前

前回:
blog/7025
のつづき.
・作った迷路の正解経路を改変して難しくする
とかの方が考えるのが簡単かも.

今回作った迷路にはループが無いから,例えば,
「正解ルートのどこかを壁で塞いで代わりに他の箇所を開けて別ルートを開通させ,正解経路長が長くなったら採用」
みたいな処理を後段に加えればいいのかも.
これをやっていくことにする.

---

(1)塞ぐ箇所はどこなのか

さて,↑の迷路の更新処理を行うには,
まず【迷路の正解ルート】を知ることができる必要がある.どうやるのか?

馬鹿正直にルート探索アルゴリズムを実装しはじめる前に少し落ち着いて考えれば,
今回作った迷路は【ループが無くて,迷路の壁は2つのグループに分かれている】のだから,
正解ルートは,2つのグループの間を通るはずだということがわかる.

見やすくするために,一方のグループの壁だけを赤に塗り替えてみれば,以下のようになる.
Route.png
Route.png (2.18 KiB) 閲覧数: 700 回
青点の箇所が正解ルートである.この青点群は,
「グリッド頂点群がどちらのグループに所属しているか?」に関するデータがあれば
隣接頂点間の所属先グループが異なる場所を列挙するだけで簡単に得られるわけだ.良かった.

「経路」にするためには点群の順序を並び替える必要があるが,今回は列挙だけできればよいので,その処理は不要.
この中のどれかをランダムに選んで塞ぎ,かわりに別のどこかを開通させればよいわけだ.ふむ.

アバター
usao
記事: 1889
登録日時: 12年前
連絡を取る:

Re: 迷路を難しくする

投稿記事 by usao » 6年前

ぬぅ.迷路が観賞対象という高みにはまだ到達できてないっす……未熟!
(「かんしょう」を変換しようとしたら, "観賞" と "鑑賞" があるんすねぇ.)

そういう芸術な方向(?)だと,なんやかんやで
貴族の庭みたいな幾何学形状に行きついたりするのかなぁ.

アバター
いわん
記事: 32
登録日時: 9年前

Re: 迷路を難しくする

投稿記事 by いわん » 6年前

FHMazeの経路探索機能が完成したので usao さんの巨大迷路を入力して探索機能を試験してみました。
迷路は完全再現とはいかず、部分的に崩れて分断されてしまったので手動でつなげる必要がありました。
FHMazeの迷路作成方法の性質上いたしかたありません。
作成した経路をもるもさんのと比較したらやっぱり途中で短絡してしまってますね(^^;
つなげた場所がまずかったようです。
FHM_BigMaze.png
FHMazeで経路探索