Как избежать 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