Я пытаюсь сделать версию игровой рулетки, но я застрял в данный момент. Я поместил числа 0-36 в список и оттуда выбрал случайное число. Затем я помещаю число в ряд операторов if, если результат от оператора модуля равен == 0 его черный, а если его> = 1, он красный. Но когда я прихожу к зеленому 0, я столкнулся с проблемой, поскольку он показывает как зеленый, так и черный, как и первый оператор if из результата модуля. Итак, я думал, могу ли я исключить число 0 из первого оператора if? Или у кого-то есть более практичное решение для этого? Любая помощь приветствуется.Исключить число ноль из modolus в выражении if
Random rnd = new Random();
List<int> number = new List<int>();
for (int i = 0; i < 37; i++)
{
number.Add(i);
}
int r = rnd.Next(number.Count);
if (r %2 == 0)
{
Console.WriteLine("You got black " + "(" + r + ")" + "!");
}
if (r %2 >=1)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("You got a red " + "(" + r + ")" + "!");
Console.ResetColor();
}
else if (r == 0)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("You got a green " + "(" + r + ")" + "!");
Console.ResetColor();
}
Console.ReadKey();
В принципе, если r == 0, то нет необходимости преследовать по модулю. Поэтому я считаю, что решение Сетионика должно работать. if (r == 0) {Green} else {Check Modulo} – Justjyde
Это не сработало, я получил тот же результат, что и раньше. Две строки с одним зеленым и одним нормальным цветным текстом, в котором говорится: «У вас зеленый (0)! Я пробовал некоторое смешение с утверждениями, но без результата. – halalbin
Вы специально пробовали if (r == 0) {. ..} else if (r% 2 == 0) {...} else if (r% 2 == 1) {...} ? – Sethionic