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