我在使形状沿随机方向移动时遇到麻烦,目前我使它们都沿相同方向移动,然后随机更改为另一个方向的代码很麻烦。
这是代码

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/

10-13 08:23