日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java迷宫队列实现_Creator 迷宫生成: DFS 与 BFS 算法实现

發(fā)布時間:2024/9/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java迷宫队列实现_Creator 迷宫生成: DFS 与 BFS 算法实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:

我的迷宮代碼的實現(xiàn)受到 [liuyubobobo] 的影響。

liuyubobobo 迷宮的實現(xiàn):

GUI 部分使用 java Swing,編程語言是 Java。

**我的迷宮代碼實現(xiàn): **

GUI 部分使用 Cocos Creator 游戲引擎, 編程語言是 TypeScript。

Github 源碼地址 :

運行動畫:

非遞歸實現(xiàn)的隨機(jī)地圖生成過程演示:

非遞歸實現(xiàn)的隨機(jī)地圖生成尋路過程演示:

開發(fā)環(huán)境:

操作系統(tǒng): Macos

游戲引擎: Cocos Creator 2.3.4

編程語言: TypeScript

迷宮定義:

實現(xiàn)的迷宮是什么樣子呢?

迷宮的定義如下:

只有一個入口, 只有一個出口

只有一個解

路徑是連續(xù)的

繪制在一個方形的畫布上: 不是其它圖形, 圓形等

墻和路徑都占一個單元格

約定入口和出口: 入口在第2行第1列, 出口在最后一列的倒數(shù)第2行。

算法與數(shù)據(jù)結(jié)構(gòu):

迷宮的生成和尋路使用的算法:

[BFS] :廣度優(yōu)先遍歷

[DFS] :深度優(yōu)先遍歷

涉及的數(shù)據(jù)結(jié)構(gòu)的實現(xiàn):

在 Script/algorithm 文件夾下:

List : 線性表, 隊列和棧的一個接口定義

Queue : 隊列, 廣度優(yōu)先遍歷非遞歸實現(xiàn)需要用到

Stack : 棧, 深度優(yōu)先遍歷非遞歸實現(xiàn)需要用

RandomQueue : 隨機(jī)隊列, 使生成的地圖更加隨機(jī), 不過仍然有點像 BFS

RandomQueue2 : 隨機(jī)隊列,RandomQueue 的改進(jìn)版, 地圖更加隨機(jī)了

代碼的演示:

代碼的演示包含兩個部分:

1. 地圖已經(jīng)生成的情況下, 從入口開始尋路找到出口;

2. 如何生成地圖, 在有迷霧的情況下動態(tài)演示地圖生成過程。

共有 10 個演示, 可以在編輯器中通過 visualType 屬性進(jìn)行選擇:

支持地圖規(guī)模修改以及地圖格子大小的修改:

總結(jié)

以上是生活随笔為你收集整理的java迷宫队列实现_Creator 迷宫生成: DFS 与 BFS 算法实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。