Я создал симулятор игры в кости в методе в программе класса.
А в методе Main я пытаюсь создать цикл, чтобы спросить пользователя, хочет ли он / она снова играть.
По какой-то причине цикл полностью игнорирует мои условные операторы, и я понятия не имею, почему.
Неважно, если я введу цифры или тарабарщину, игра все равно перезапускается.
Единственное, что работает, это когда я набираю "N" или "n", чтобы выйти.
string alt;
do
{
GameLogic();
Console.WriteLine("Play again?");
Console.WriteLine("[Y]es | [N]o");
alt = Console.ReadLine();
alt.ToLower();
if (alt == "Y" || alt == "y")
{
Console.Clear();
GameLogic();
}
else if (alt == "N" || alt == "n")
{
break;
}
else
{
Console.WriteLine("Invalid input!");
}
} while (alt != "N" || alt != "n");
Console.WriteLine("\nPress any key to quit...");
Console.ReadKey();
Я ожидаю, что он будет делать то, что требует условия. Если вы введете что-то еще, кроме «Y, y» или «N, n», должно появиться сообщение «Неверный ввод!».
Перезапуск игры возможен только в том случае, если вы введете «Y» или «y».