Как избежать 2 одинаковых значений подряд (new random())
Эй,
только один короткий вопрос:
Я хаваю кнопку 'получить случайный'. Если я нажму кнопку, программа установит текст метки на это значение.
иногда, если я нажимаю кнопку 2 раза, она возвращает один и тот же номер.
Как я могу избежать получения двух одинаковых значений?
Что я уже пробовал:
int newRandom = 0;
int lastRandom = 1;
private int GetRandom()
{
Random r = new Random();
newRandom = r.Next(0, 7);
while (newRandom == lastRandom)
{
newRandom = r.Next(0, 7);
if(newRandom != lastRandom) break;
}
lastRandom = newRandom;
return newRandom;
}
label.Text = GetRandom.ToString();
Andy Lanng
То, что вы ищете, - это имитация случайности. Не совсем случайное, но то, что человеческий мозг интерпретировал бы как случайное.
В этом случае вам придется сохранить по крайней мере предыдущее число 1