我在使形状沿随机方向移动时遇到麻烦,目前我使它们都沿相同方向移动,然后随机更改为另一个方向的代码很麻烦。
这是代码
for(int i = 0; i < 50; i++)
{
int randomMoveX = rand() % 2 + (-1);
int randomMoveY = rand() % 2 + (-1);
circleObjectArray[i].move(randomMoveX,randomMoveY);
while(randomMoveX == 0)
{
randomMoveX = rand() % 2 + (-1);
}
while(randomMoveY == 0)
{
randomMoveY = rand() % 2 + (-1);
}
cout << "randomMoveX: " << randomMoveX << endl;
cout << "randomMoveY: " << randomMoveY << endl;
}
如何更改代码以能够分别在随机方向上移动它们?谢谢您的时间:D
最佳答案
当您运行应用程序时,会将种子随机设置为srand(1)
。
要使用不同的兰特值,您需要更改random的种子。
然后使用函数srand并将其保存在unsigned int
中,以对不同形状使用不同的rand。
关于c++ - SFML如何使各种形状沿随机方向移动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63861671/