2012-06-23 33 views
2

我正在製作簡單的網格遊戲(網格是矩陣128x128)並且矩陣填充了0和1(1個子彈可以穿過,0個子彈不能穿過不能再繼續旅行,也我有子彈範圍32個單元格)。 我站在例如職位(32,89)。任何人都可以建議我任何有效的算法來計算所有可拍攝的領域? (我知道簡單的方法來計算簡單的檢查範圍內的每個字段,但我不知道是否有更好的主意)查找網格遊戲中所有可拍攝的單元格

+2

做子彈行進在一個離散的方向?你只能以90°(或45°)的角度拍攝嗎? –

回答

2

不幸的是,沒有更好的方法。

這將是可能的,如果你可以在列表中的位置拍攝的位置。在這種情況下,您可以通過從列表中刪除其他元素來消除一些檢查。

如果你的網格沒有改變,你可以評估它的每個位置,以備後用。 這將使用大約4MB的128 * 128 *(2pi *範圍)內存。 如果是這種情況,您可以將其保存爲每個可能的角度,導致最大值爲2pi * range = 202個位置,則執行202次檢查而不是之前需要的1024(32 * 32)次。

相關問題