2014-02-24 50 views
0

我如何能夠在800x600的屏幕上隨機放置13個正方形,矩形?我試圖使用:在SFML中隨機放置矩形

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

但它沒有完全解決。它將立方體圍繞屏幕放置在彼此頂部並離開屏幕。有任何想法嗎?如果你需要更多的代碼,我可以編輯這個向你展示。

回答

1

如果你不想讓你的矩形相互重疊或在窗口外面繪製,當然它不能很好地工作。

的,如果你想看到所有您的矩形,因爲將它們放置在800寬度或高度600顯然隱藏他們[0,800][0,600]之間不隨機的立場一。相反,對於每個矩形,您必須隨機選擇800-width600-height作爲上限。其次,爲了避免重疊的矩形,你必須逐一放置它們,並檢查每次放置一個新的矩形時,它不在你之前放置的所有矩形的頂部。當它重疊時,選擇另一個隨機位置。請注意,根據矩形的大小和隨機位置,可能無法做到這一點。