狩獵與殺戮迷宮生成器
已發佈: 2025年2月16日 晚上8:57:32 [UTC]
迷宮生成器使用 Hunt and Kill 演算法來創建完美的迷宮。該演算法與遞歸回溯器類似,但傾向於生成走廊較短且蜿蜒的迷宮。該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:
Hunt and Kill Maze Generator
Hunt and Kill Maze Generator
Hunt and Kill 演算法其實是 Recursive Backtracker 的修改版本。修改包括當無法繼續時系統地掃描(或“搜索”)新單元以繼續,而不是真正的遞歸搜索,後者總是回到堆疊中的前一個單元。
正因為如此,只需選擇更頻繁地進入「狩獵」模式或根據特定規則,演算法就可以輕鬆適應生成具有不同外觀和感覺的迷宮。這裡實現的版本僅當無法遠離當前單元格時才會進入“狩獵”模式。
完美迷宮是指從迷宮中的任意一點到另一點都只有一條路徑的迷宮。這意味著你不會最終陷入繞圈的境地,但你會經常遇到死胡同,迫使你轉身返回。
這裡產生的迷宮地圖包含一個預設版本,沒有任何起點和終點位置,因此您可以自己決定:從迷宮中的任何點到任何其他點都會有一個解決方案。如果您想要靈感,您可以啟用建議的開始和結束位置 - 甚至可以看到兩者之間的解決方案。
關於「狩獵與殺戮」演算法
Hunt and Kill 演算法是一種簡單而有效的生成迷宮的方法。它有點類似於深度優先搜尋(即遞歸回溯演算法),不同之處在於,當它無法從當前位置進一步前進時,它會系統地掃描(或「搜尋」)迷宮以尋找新的單元進行前進。演算法包括兩個主要階段:行走和狩獵。
迷宮生成中的狩獵與殺戮演算法是如何運作的
步驟 1:從隨機儲存格開始
- 在網格中隨機找到一個單元格並將其標記為已存取。
第二步:行走階段(隨機行走)
- 隨機選擇一個未訪問的鄰居。
- 移動到該鄰居,將其標記為已訪問,並在前一個單元格和新單元格之間開闢一條路徑。
- 重複此操作,直到沒有未訪問的鄰居。
步驟 3:搜尋階段(透過掃描回溯)
- 逐行(或逐列)掃描網格。
- 找到第一個至少有一個已存取鄰居的未存取儲存格。
- 將該單元連接到已訪問的鄰居以恢復行走階段。
- 重複此操作,直到所有單元格都被存取過。