我有以下的隨機數創:隨機數連續不重複相同的值
val = rnd.Next(1, 4)+1;
我已經看過該網站上類似的問題,我相信+1是爲了防止獲得相同數量的連續。
我想序列是隨機的,但我不希望連續兩次相同的值。例如:
1,1,2,2,3,4
會錯,但1,2,1,2,3,4,3
會滿足我的需求。
我嘗試以下,但它並沒有解決我的問題:
void numLogic()
{
System.Random rnd = new System.Random();
int val;
int oldval = val;
val = rnd.Next(1, 4)+1;
while (oldval == val)
{
val = rnd.Next(1, 4) + 1;
}
}
注意,通過統一的物體碰撞產生的每個數字後numLogic()
調用成功。問題不在遊戲對象,這工作正常。我只是不希望連續兩個數字相同。
+1所做的唯一的事情是讓你的範圍2-4而不是1-3。 –