所以我試圖寫一個探路者,並有一些問題。Rand()和srand()的問題
我目前有一個開關()有四種情況,並希望隨機選擇其中之一。
do
{
if (checkLeft()==false && checkRight()==false && checkUp()==false && checkDown()==false)
{
cont = false;
}
int x = rand() % 4;
srand(static_cast<unsigned int>(time(NULL)));
if (cont == true)
{
switch(x)
{
case 0:
checkRight();
break;
case 1:
checkDown();
break;
case 2:
checkUp();
break;
case 3:
checkLeft();
break;
}
}
} while (currentx != max && currenty != max && cont == true);
因爲它是'做'循環,它似乎並不真的是隨機的?我得到一致的結果。我如何確保從交換機()獲得完全隨機的輸出?
謝謝!
在main的開頭只使用srand一次。 – theVoid