Miklix

狩獵與殺戮迷宮生成器

已發佈: 2025年2月16日 晚上8:57:32 [UTC]
最後更新: 2026年1月12日 上午9:05:07 [UTC]

迷宮生成器使用「狩獵與殺戮」演算法來創造完美迷宮。該演算法類似於遞歸回溯演算法,但生成的迷宮往往走廊較短且彎曲程度較小。

該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:

Hunt and Kill Maze Generator

Hunt and Kill 演算法其實是遞歸回溯演算法的改進版本。改進之處在於,當無法繼續前進時,它會系統地掃描(或「尋找」)新的單元格以繼續前進,而不是像真正的遞歸搜尋那樣總是返回到堆疊上的前一個單元格。

因此,只需選擇更頻繁地進入「搜尋」模式或遵循特定規則,即可輕鬆調整此演算法,產生不同外觀和風格的迷宮。此處實現的版本僅在無法遠離目前儲存格時才進入「搜尋」模式。

完美迷宮是指從迷宮中的任意一點到另一點都只有一條路徑的迷宮。這意味著你不會最終陷入繞圈的境地,但你會經常遇到死胡同,迫使你轉身返回。

這裡產生的迷宮地圖包含一個預設版本,沒有任何起點和終點位置,因此您可以自己決定:從迷宮中的任何點到任何其他點都會有一個解決方案。如果您想要靈感,您可以啟用建議的開始和結束位置 - 甚至可以看到兩者之間的解決方案。


生成新迷宮








關於獵殺演算法

「狩獵與消滅」演算法是一種簡單而有效的迷宮生成方法。它與深度優先搜尋(例如遞歸回溯演算法)有些類似,不同之處在於,當無法從當前位置繼續前進時,它會系統地掃描(或「狩獵」)迷宮,尋找新的出發點。演算法包含兩個主要階段:行走和狩獵。

迷宮生成中的獵殺演算法工作原理

步驟 1:從一個隨機儲存格開始

  • 在網格中隨機選擇一個單元格,並將其標記為已存取。

步驟 2:步行階段(隨機行走)

  • 隨機選出一位未拜訪過的鄰居。
  • 移動到相鄰的單元格,將其標記為已訪問,並在前一個單元格和新單元格之間開闢一條路徑。
  • 重複此步驟,直到所有未拜訪的鄰居都拜訪完畢。

步驟 3:搜尋階段(透過掃描回溯)

  • 逐行(或逐列)掃描網格。
  • 找到第一個至少有一個已存取鄰居的未存取儲存格。
  • 將該單元格與已訪問的相鄰單元格連接,以恢復行走階段。
  • 重複以上步驟,直到所有儲存格都被存取過。

進一步閱讀

如果您喜歡這篇文章,您可能也會喜歡這些建議:


分享至 Bluesky在 Facebook 分享在 LinkedIn 分享在 Tumblr 上分享分享至 X在 LinkedIn 分享固定在 Pinterest 上

Mikkel Christensen

關於作者

Mikkel Christensen
麥可 是 miklix.com 的創建者和所有者。他有超過 20 年的專業電腦程式設計師/軟體開發人員經驗,目前全職受僱於一家歐洲大型 IT 公司。不寫部落格時,他會將業餘時間花在各種各樣的興趣、愛好和活動上,這在一定程度上反映在本網站所涵蓋的主題的多樣性上。