SFML如何使各种形状沿随机方向移动?

问题描述

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

这是代码

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。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...