[程式] 模擬城市的電線連接判斷是怎麼做的阿???

看板Flash作者 (呦厚厚)時間15年前 (2010/07/09 17:55), 編輯推噓4(4014)
留言18則, 5人參與, 最新討論串1/1
※ [本文轉錄自 GameDesign 看板 #1CDl4KKt ] 作者: yhn0tgb60 (呦厚厚) 看板: GameDesign 標題: [程式] 模擬城市的電線連接判斷是怎麼做的阿??? 時間: Fri Jul 9 17:51:14 2010 最近在研究模擬城市的一項功能 就是每個建築物都會去判斷 自己是否有電線連結到發電廠 目前我想的辦法寫一個尋路程式(例如 A*) 每蓋一個建築物 或是蓋一個電線 或是拆一個電線 就對所有的建築物 跑尋路程式 而電線是道路 終點是發電廠 判斷建築物 是否可以透過電線 找到發電廠 不過這個運算量很可怕... 當建築物一多 或是電線一多 只要在哪裡 一直重複 拆一個電線 或是蓋一個電線 程式就跑掛了 而模擬城市在近20年前 就已經做到這個東西 模擬城市的地圖並不小 而且那時候的電腦也很差 我想也許他們有更好的方法在處裡這個問題 ??? 想和大家討論一下這個問題 謝謝了 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.109.115.30 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.109.115.30

07/09 18:22, , 1F
如果每個建築物都有另外的布林值儲存是否連接
07/09 18:22, 1F

07/09 18:23, , 2F
只要跟自己相關一層的有人的布林是Yes就一樣弄成Yes
07/09 18:23, 2F

07/09 18:23, , 3F
這樣OK嘛?
07/09 18:23, 3F

07/09 20:23, , 4F
覺得在蓋建物或是電線時,判斷一次布林值存起來就好了
07/09 20:23, 4F

07/10 00:04, , 5F
蓋建築物時 不會有太大的問題
07/10 00:04, 5F

07/10 00:05, , 6F
重點是拆電線時 問題就出來了
07/10 00:05, 6F

07/10 00:06, , 7F
怎麼知道我拆了中間某一個電線後
07/10 00:06, 7F

07/10 00:06, , 8F
有哪些建築物 從有接到發電廠 變成沒接到發電廠 ???
07/10 00:06, 8F

07/10 00:07, , 9F
畢竟 電線是可以隨便亂蓋的
07/10 00:07, 9F

07/10 00:08, , 10F
而建築物接到發電廠的路 也不只一條
07/10 00:08, 10F

07/10 00:08, , 11F
我要知道 拆了一個電線後 會對哪些建築物產生影響
07/10 00:08, 11F

07/10 00:09, , 12F
除了對每一個建築物去跑 尋路程式確定是否有連到發電廠
07/10 00:09, 12F

07/10 00:09, , 13F
是否有更好的方法 ???
07/10 00:09, 13F

07/10 00:10, , 14F
相對的 加蓋電線時 也會有相對的問題
07/10 00:10, 14F

07/10 01:23, , 15F
用一個跟整個地圖一樣大的二維陣列來儲存每一個點的布
07/10 01:23, 15F

07/10 01:24, , 16F
林值,這樣不知道ok不ok...
07/10 01:24, 16F

07/10 01:25, , 17F
不過檢查有沒有連線似乎很麻煩...
07/10 01:25, 17F

07/10 07:21, , 18F
你的起點跟終點似乎弄反了 從電廠起始跑BFS試試
07/10 07:21, 18F
文章代碼(AID): #1CDl8b9L (Flash)
文章代碼(AID): #1CDl8b9L (Flash)