gpt4 book ai didi

c++ - 在 SFML 中随机放置矩形

转载 作者:行者123 更新时间:2023-11-28 07:04:11 26 4
gpt4 key购买 nike

我如何才能将 13 个正方形、矩形随机放置在 800x600 的屏幕上?我尝试使用:

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

但结果并不理想。它将屏幕周围的立方体放置在彼此之上并离开屏幕。有任何想法吗?如果您需要更多代码,我可以对其进行编辑以向您展示。

最佳答案

如果你不想让你的矩形相互重叠或者绘制在窗口之外,当然效果不是很好。

首先,如果您确实想查看所有您的矩形,请不要将它们的位置随机化在[0,800][0,600] 之间> 因为将它们放置在 800 宽或 600 高处显然会隐藏它们。相反,对于每个矩形,您必须以 800-width600-height 作为上限进行随机化。

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

关于c++ - 在 SFML 中随机放置矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com