作者yhn0tgb60 (呦厚厚)
看板Flash
標題[程式] 模擬城市的電線連接判斷是怎麼做的阿???
時間Fri Jul 9 17:55:47 2010
※ [本文轉錄自 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
1F:推 kawasumimai:如果每個建築物都有另外的布林值儲存是否連接 07/09 18:22
2F:→ kawasumimai:只要跟自己相關一層的有人的布林是Yes就一樣弄成Yes 07/09 18:23
3F:→ kawasumimai:這樣OK嘛? 07/09 18:23
4F:推 dsmwang:覺得在蓋建物或是電線時,判斷一次布林值存起來就好了 07/09 20:23
5F:→ yhn0tgb60:蓋建築物時 不會有太大的問題 07/10 00:04
6F:→ yhn0tgb60:重點是拆電線時 問題就出來了 07/10 00:05
7F:→ yhn0tgb60:怎麼知道我拆了中間某一個電線後 07/10 00:06
8F:→ yhn0tgb60:有哪些建築物 從有接到發電廠 變成沒接到發電廠 ??? 07/10 00:06
9F:→ yhn0tgb60:畢竟 電線是可以隨便亂蓋的 07/10 00:07
10F:→ yhn0tgb60:而建築物接到發電廠的路 也不只一條 07/10 00:08
11F:→ yhn0tgb60:我要知道 拆了一個電線後 會對哪些建築物產生影響 07/10 00:08
12F:→ yhn0tgb60:除了對每一個建築物去跑 尋路程式確定是否有連到發電廠 07/10 00:09
13F:→ yhn0tgb60:是否有更好的方法 ??? 07/10 00:09
14F:→ yhn0tgb60:相對的 加蓋電線時 也會有相對的問題 07/10 00:10
15F:推 terrylchen:用一個跟整個地圖一樣大的二維陣列來儲存每一個點的布 07/10 01:23
16F:→ terrylchen:林值,這樣不知道ok不ok... 07/10 01:24
17F:→ terrylchen:不過檢查有沒有連線似乎很麻煩... 07/10 01:25
18F:推 scars:你的起點跟終點似乎弄反了 從電廠起始跑BFS試試 07/10 07:21