Paint master READ ONLY 0
  • explorer
  • search
a [App]
a CG.Paint
a README.md
a app.ts
a [Test]
a test
  • README.md

隨機迷宮生成演算法(Random Maze Generation Algorithm)

突然就想來寫個迷宮,自從我會寫程式之後,一直沒有嘗試過隨機生成迷宮,這是在我真正接觸程式之前,就覺得很酷的東西,結果現在才第一次寫這個。

這次是邊寫邊想的,意外地寫得很順利,寫完之後才去查了一般隨機生成迷宮都是怎麼寫的,然後我找到最接近本次寫法的應該是深度優先搜尋法(Depth-first Search),只是不同的在於我遇到死路時,是從過去經過的點當中,隨機取一個點出來繼續生成路線,而深度優先搜尋法是退回到上一格,再繼續生成路線,所以相較於深度優先搜尋的隨機性可能更高一些。

不確定這個演算法有沒有什麼名字,有誰知道的話可以告訴我。

步驟

  1. 隨機選一個點。
  2. 檢查有沒有鄰近格(非開放格,也非封閉格)。
    • 如果有,將當前的位置設為開放格,並移動到鄰近格,重複步驟 2。
    • 如果沒有,將當前的位置設為封閉格,並執行步驟 3。
  3. 檢查有無開放格。
    • 如果有,則隨機取一個作為當前位置,並執行步驟 2。
    • 如果沒有,則結束演算法。

其他實作

Gazuwa 派對

浮冰

迴旋鏢實作

布雷森漢姆直線演算法

平台遊戲的地圖碰撞

可拖曳、拆分背包實作

網格地圖碰撞測試

環境陰影實作(人物面向版)

環境陰影實作

Gazuwa 模擬器

Authors

cook14709

READ ONLY
  • problem
  • console
No problems have been detected so far.
Ln 1, Col 1, Sel 0
Markdown