Как я мог бы случайным образом разместить 13 квадратов, прямоугольников на экране 800x600? Я попытался использовать:
rand() % 800 + 1
rand() % 600 + 1
Но это не совсем сработало. Он размещал кубы вокруг экрана друг над другом и с экрана. Есть идеи? Если вам нужно больше кода, я могу отредактировать его, чтобы показать вам.
Если вы не хотите, чтобы ваши прямоугольники перекрывались друг с другом или рисовались за пределами окна, конечно, это не очень хорошо работает.
Прежде всего, если вы хотите увидеть все свои прямоугольники, не производите их ранжирование между [0,800]
и [0,600]
потому что размещение их на высоте 800 или 600 будет явно скрывать их. Вместо этого для каждого прямоугольника вам нужно будет рандомизировать с 800-width
и 600-height
в качестве верхнего предела.
Во-вторых, чтобы избежать перекрытия прямоугольников, вам придется поместить их по одному и проверять каждый раз, когда вы размещаете новый, который не находится поверх всех прямоугольников, которые вы разместили ранее. Пока он перекрывается, выберите другую случайную позицию. Обратите внимание, что в зависимости от размера ваших прямоугольников и случайных позиций вы можете сделать это.