好吧,標題不太合適,請繼續閱讀(我無法獲得更好的)。在二維陣列中尋找合適的切割片
注意:使用Python 2.7,但算法也會有所幫助。
我正在製作側卷軸遊戲,其中我在飛行中產生障礙物。我遇到的麻煩是弄清楚如何產生障礙。 o_O
我有一種某種邏輯,但後來在計算整個邏輯時遇到了麻煩。
因此,這裏是從實現的角度來看我的問題:
我有一個Surface
,其中我已經把一些Element
s,這是所有的矩形。
認爲它像:
0 0 0 0 0 0 0
0 0 0 0 1 1 0
0 0 0 0 1 1 0
0 0 0 0 1 1 0
0 0 0 0 0 0 0
0 1 1 0 0 1 1
0 0 0 0 0 1 1
如在上述結構中,我怎樣才能確定是否可以在不重疊的(1S)的另一個矩形被添加一個axb
矩形,並且其中所有。此外,與所有其他對象保持x個元素(甚至對角線)的距離,這意味着整個矩形是(x + 3,x + 4)。就像如果x=1, a=3, b=4
東西,只有一個可能的安排:
(2S代表了新的對象)
2 2 2 0 0 0 0
2 2 2 0 1 1 0
2 2 2 0 1 1 0
2 2 2 0 1 1 0
0 0 0 0 0 0 0
0 1 1 0 0 1 1
0 0 0 0 0 1 1
基本上,我需要找到所有的點,從側面a
和b
的矩形可以有它,說,左上角。這是如何實現的?
注意:打開更好的想法,爲飛行中產生障礙!
PS:我已經問過這裏和程序員,因爲我認爲它落在這兩個網站上的主題。
請不要crosspost。 –
這個問題似乎是脫離主題,因爲它是關於算法,而不是現有的代碼,並已交叉發佈到http://programmers.stackexchange.com/questions/206298/finding-possible-positions-for-rectangle在一個2維數組 –
@MartijnPieters我不明白爲什麼這是題外話,但是,不應該有交叉張貼..:| – pradyunsg