我已经在类程序中的方法中创建了一个Dice-Simulator。
然后在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”,则应该显示消息“ Invalid input!”。
仅当您输入“ Y”或“ y”时,它才应重新启动游戏。
答案 0 :(得分:3)
我以某种方式解决了它...我不得不移动GameLogic();在循环之外。
答案 1 :(得分:0)
您的逻辑有些偏离。
尝试以下代码:
betPoints = Math.min(playerPoints, betPoints);
基本上,在您的do while循环开始时,GameLogic会受到攻击。
因此,您必须确保它是第一次执行,然后只有在有人选择时它才会第二次执行。