BFS在Roglike遊戲中生成房間的應用

2021-10-03 03:59:56 字數 872 閱讀 6384

roglike遊戲中,生成房間後,我們可以使用廣度優先遍歷的思想,利用佇列實現找到最遠距離的房間並返回,這種方法對各種生成的地牢的相容性較好,但也較為複雜。

解決了一些如「:u字形地牢」(起點道終點的距離不是最遠但玩家到達終點的路程最長)不能很好的選擇終點的問題,如圖:

下面附上 c#中 廣度優先遍歷的**(bfs):

private

void

roomcolor()

private

gameobject

getfarthestroom()

// setuproom(room, room.transform.position);

//}room currentroom;

currentroomque.

enqueue

(roomlist[0]

);//下層房間入隊

//檢測門,若為真,入隊

while

(currentroomque.count >0)

return endroom;

}private

void

addroombydir

(bool frombool,

bool dirbool,

vector3 currentpos,

diretion dir)

if(dirbool &&

!frombool)

break;}}}}

雖雕蟲小技,卻寫的過於冗雜,還望海涵

青楓浦2020.2.23

童年匯 在遊戲中教與學

聽到身邊的媽媽總是問,哪家早教好,要送寶寶去哪個學習更好?說什麼人家的寶寶都上早教了,我們也不能落別人太多什麼的。其實,我覺得家 長應該端正心態,並不是寶寶不上早教就落後別人很多,很多媽媽覺得寶寶上早教課就一定要學到什麼,從而來判定這家早教中心怎麼樣?其實真正 的早教課是給寶寶乙個快樂的學習思維,讓...

state模式在遊戲中的運用

好久沒有寫blog了!最近決定多寫寫,把自己的經驗多給大家分享!state模式的定義 不同的狀態,不同的行為 或者說,每個狀態有著相應的行為.我舉個遊戲應用的例子吧!mmo中,遊戲世界可以分為 登陸時前,進入遊戲中,進入遊戲後 3個狀態 我打的比喻 首先 抽象狀態的基類 class game cla...

在3D遊戲中顯示網頁

在遊戲中顯示網頁?為什麼要這麼做呢?其實可以做不少的應用 嵌入幫助文件,比如技能介紹,可以做得很漂亮,各種排版方式用傳統ui做起來很費勁 活動公告頁面直接在遊戲中檢視 遊戲內的bbs 社群 玩家的個性展示 資料 等等最重要的是,所有的這些內容都可以扔到web伺服器上,不用打包進客戶端 最早是用llm...