私はパスファインダーを書こうとしていますが、いくつか問題があります。rand()とsrand()に問題があります
私は現在、4つのケースを持つswitch()を持っており、それらのうちの1つをランダムに選択したいと考えています。
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);
「do」ループなので、実際にはランダムではないようですね。私は一貫して同様の結果を得ます。 switch()から完全にランダムな出力が得られるようにするにはどうすればいいですか?
THanks!
メインの冒頭にsrandを1回だけ使用します。 – theVoid