精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《bloodtester.bbs@cszone.cc.ntu.edu.tw (阿偉)》之銘言: : 畫迷宮只用亂數的話就會沒有解.... : 請問要用怎樣的邏輯去判斷再讓電腦畫的迷宮有解.... 以前寫過一個... 這個方法一百多行就可以結束... 先從頭畫出一條亂數決定長度的路.... 接著交給recursive做下面的事情.... 『亂數找到平面上任何一條路的一點... 由那一點畫出另外一條由亂數決定長度的路... 但是畫的過程中碰到其他路就停下來當做死巷子...』 長度亂數上限不同會產生不同的迷宮難度... recursive的次數....400*400的迷宮做50000次...(只是經驗,不一定) 因為到最後你會發覺迷宮陣列會有一些空洞還沒畫... 但是得一直recursive讓它畫到... 所以時間複雜度相當差勁是麻煩.... 只是P II 300跑起來很快沒差... 這樣做出來的迷宮有一個數學特性... 任意選兩點...將只有一條路可以互通... 所以是相當不錯的單一解決路徑迷宮... 順便說一下,這是我那時寒假花ㄌ兩天想出來的ㄛ^^ -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: ccsun2.csie.nct