C++ 在SFML中随机放置矩形

C++ 在SFML中随机放置矩形,c++,frameworks,sfml,C++,Frameworks,Sfml,我怎样才能在800x600的屏幕上随机放置13个正方形和矩形?我试着使用: rand() % 800 + 1 rand() % 600 + 1 但这并没有完全奏效。它将立方体放在屏幕周围,一个接一个,离开屏幕。有什么想法吗?如果您需要更多的代码,我可以编辑此代码以向您展示。如果您不希望矩形彼此重叠或在窗口外绘制,那么它当然不会很好地工作 首先,如果您确实想查看所有的矩形,请不要将它们的位置在[0800]和[0600]之间随机排列,因为将它们放置在800宽或600高会明显隐藏它们

我怎样才能在800x600的屏幕上随机放置13个正方形和矩形?我试着使用:

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

但这并没有完全奏效。它将立方体放在屏幕周围,一个接一个,离开屏幕。有什么想法吗?如果您需要更多的代码,我可以编辑此代码以向您展示。

如果您不希望矩形彼此重叠或在窗口外绘制,那么它当然不会很好地工作

首先,如果您确实想查看所有的矩形,请不要将它们的位置在
[0800]
[0600]
之间随机排列,因为将它们放置在800宽或600高会明显隐藏它们。相反,对于每个矩形,您必须随机选择
800宽度
600高度
作为上限

其次,为了避免重叠矩形,您必须逐个放置它们,并在每次放置新矩形时检查它们是否位于先前放置的所有矩形之上。重叠时,选择另一个随机位置。请注意,根据矩形的大小和得到的随机位置,可能无法执行此操作