如何在SFML中生成随机的非重叠平台? 我刚开始学习C++和SFML,我正在写像DooDLE跳跃之类的游戏。 我有三个不同的平台。我的平台是随机设置的,但是。。。重叠。以下是一个屏幕截图:

如何在SFML中生成随机的非重叠平台? 我刚开始学习C++和SFML,我正在写像DooDLE跳跃之类的游戏。 我有三个不同的平台。我的平台是随机设置的,但是。。。重叠。以下是一个屏幕截图:,c++,random,sfml,C++,Random,Sfml,以下是我的部分代码: int main() { srand(time(NULL)); RenderWindow app(VideoMode(600, 600), "Doodle Game!"); app.setFramerateLimit(60); Texture t1,t2,t3,t4,t5; t1.loadFromFile("4.png"); t2.loadFromFile("platform.png"); t3.loadFromFile("cartoon.png"); t4.load

以下是我的部分代码:

int main()
{

srand(time(NULL));

RenderWindow app(VideoMode(600, 600), "Doodle Game!");
app.setFramerateLimit(60);

Texture t1,t2,t3,t4,t5;
t1.loadFromFile("4.png");
t2.loadFromFile("platform.png");
t3.loadFromFile("cartoon.png");
t4.loadFromFile("rock.png");
t5.loadFromFile("wood.png");


Sprite sBackground(t1), sPlat(t2), sPlat1(t4), sPlat2(t5), sPers(t3);
sPers.setScale(0.3f, 0.3f);
sPlat.setScale(0.06f, 0.06f);
sPlat1.setScale(0.06f, 0.06f);
sPlat2.setScale(0.06f, 0.06f);

point plat[20];
point plat1[20];
point plat2[20];

for (int i=0;i<10;i++)
  {
   plat[i].x=rand()%600;
   plat[i].y=rand()%600;
   plat1[i].x=rand()%600;
   plat1[i].y=rand()%600;
   plat2[i].x=rand()%600;
   plat2[i].y=rand()%600;
  }

如果你想要一个特定数量的随机数,其中每一个都是唯一的,那么除了,你可以使用


只需循环并生成随机数,直到集合的大小达到所需的数字量。

这对您来说怎么不起作用?问题到底是什么?我希望我的平台不要重叠,我也希望我的平台不要重叠,那么您可能想问一下生成随机非重叠平台的问题,而不是生成随机数。