2013-08-26 37 views
-3

我目前正處於開發遊戲的初期階段,其中玩家通過將單個系統(貨艙,武器控件,船員宿舍等)放置在2D網格上來構建飛船。船的「根」部分是船長坐下並命令周圍人的橋樑。尋找兩個物體是否在2D網格中連接的好算法是什麼?

我需要的是一種算法,可以檢查以確保每個部分都直接連接到橋上,或者通過連接到另一系列可追溯到橋上的部分。

當然,一部分將被刪除,它不會以某種方式連接到橋。

任何人都知道可以做到這一點的算法嗎?

+0

我認爲這個問題太本地化對OP以外的任何人都有用。 – jsedano

+2

@anakata可能吧,儘管如果他足夠抽象了,聽起來好像它可能是一個圖形連通性問題。 –

+0

@ DennisMeng你是對的,也許OP或其他人可以做到 – jsedano

回答

3

這是一個簡單的「洪水填充」的方式,你想要什麼

  • 添加點A到一個叫scanning
  • 還創建了一套名爲checked集(留空開頭)

  • 而點B中沒有找到與設定scanning不是空的:

  • scanning組d的每個點o如下:
  • 如果是B點,則停止。
  • scanning集刪除點和 添加到checked
  • 每個鄰居,如果不添加到checkedscanning然後添加鄰居到scanning
相關問題