java迷宫队列实现_Creator 迷宫生成: DFS 与 BFS 算法实现
前言:
我的迷宮代碼的實現受到 [liuyubobobo] 的影響。
liuyubobobo 迷宮的實現:
GUI 部分使用 java Swing,編程語言是 Java。
**我的迷宮代碼實現: **
GUI 部分使用 Cocos Creator 游戲引擎, 編程語言是 TypeScript。
Github 源碼地址 :
運行動畫:
非遞歸實現的隨機地圖生成過程演示:
非遞歸實現的隨機地圖生成尋路過程演示:
開發環境:
操作系統: Macos
游戲引擎: Cocos Creator 2.3.4
編程語言: TypeScript
迷宮定義:
實現的迷宮是什么樣子呢?
迷宮的定義如下:
只有一個入口, 只有一個出口
只有一個解
路徑是連續的
繪制在一個方形的畫布上: 不是其它圖形, 圓形等
墻和路徑都占一個單元格
約定入口和出口: 入口在第2行第1列, 出口在最后一列的倒數第2行。
算法與數據結構:
迷宮的生成和尋路使用的算法:
[BFS] :廣度優先遍歷
[DFS] :深度優先遍歷
涉及的數據結構的實現:
在 Script/algorithm 文件夾下:
List : 線性表, 隊列和棧的一個接口定義
Queue : 隊列, 廣度優先遍歷非遞歸實現需要用到
Stack : 棧, 深度優先遍歷非遞歸實現需要用
RandomQueue : 隨機隊列, 使生成的地圖更加隨機, 不過仍然有點像 BFS
RandomQueue2 : 隨機隊列,RandomQueue 的改進版, 地圖更加隨機了
代碼的演示:
代碼的演示包含兩個部分:
1. 地圖已經生成的情況下, 從入口開始尋路找到出口;
2. 如何生成地圖, 在有迷霧的情況下動態演示地圖生成過程。
共有 10 個演示, 可以在編輯器中通過 visualType 屬性進行選擇:
支持地圖規模修改以及地圖格子大小的修改:
總結
以上是生活随笔為你收集整理的java迷宫队列实现_Creator 迷宫生成: DFS 与 BFS 算法实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenAI CEO:GPT-4周活用户
- 下一篇: 卢伟冰:最近定了个小目标 小米平板销量要