好吧,标题不太合适,请继续阅读(我无法获得更好的)。在二维阵列中寻找合适的切割片
注意:使用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