【发布时间】:2013-07-28 07:54:25
【问题描述】:
好吧,这个标题不太合适,请继续阅读(我找不到更好的)。
注意:使用 Python 2.7,但算法也会有所帮助。
我正在制作一个横向卷轴游戏,在其中我会在飞行中生成障碍物。我遇到的麻烦是弄清楚如何产生障碍。 o_O
我有某种逻辑,但是我在弄清楚整个逻辑时遇到了麻烦。
所以从实现的角度来看,这是我的问题:
我有一个Surface,其中我放了一些Elements,它们都是矩形。
可以这样想:
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
在上面的结构中,我如何确定是否可以添加axb 矩形而不重叠另一个矩形(1s),以及所有矩形。此外,在与所有其他对象保持 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:我在这里和 Programmers 上都问过这个问题,因为我认为这两个网站都属于主题。
【问题讨论】:
-
请不要交叉发帖。
-
这个问题似乎是题外话,因为它是关于算法,而不是现有代码,并且已交叉发布到programmers.stackexchange.com/questions/206298/…
-
@MartijnPieters 我不明白为什么这是题外话,但是是的,不应该交叉发布.. :|