2014-02-24 51 views
0

我如何能够在800x600的屏幕上随机放置13个正方形,矩形?我试图使用:在SFML中随机放置矩形

rand() % 800 + 1 
    rand() % 600 + 1 

但它没有完全解决。它将立方体围绕屏幕放置在彼此顶部并离开屏幕。有任何想法吗?如果你需要更多的代码,我可以编辑这个向你展示。

回答

1

如果你不想让你的矩形相互重叠或在窗口外面绘制,当然它不能很好地工作。

的,如果你想看到所有您的矩形,因为将它们放置在800宽度或高度600显然隐藏他们[0,800][0,600]之间不随机的立场一。相反,对于每个矩形,您必须随机选择800-width600-height作为上限。其次,为了避免重叠的矩形,你必须逐一放置它们,并检查每次放置一个新的矩形时,它不在你之前放置的所有矩形的顶部。当它重叠时,选择另一个随机位置。请注意,根据矩形的大小和随机位置,可能无法做到这一点。