我正在爲C#的控制檯應用程序中的冒險類文本遊戲工作。如何檢查用戶是否正確輸入命令 - C#
我需要一種方法來測試用戶是否正確地輸入命令,並且他們是否不再測試。
我現在嘗試這一權利:
do
{
Response = Console.ReadLine();
switch (Response.ToLower())
{
case "hallway":
Location = Locations[2];
Console.WriteLine("You decide to get some fresh air, and step out of the dance room and into the hallway." + "\n" + "There's no one here.");
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine("Command List: Look, Look at, Move, Check Status");
Console.ResetColor();
ResponseTester();
break;
case "dance room":
//[Other code here]
break;
default:
Console.WriteLine("I'm sorry, I don't understand that.");
break;
}
}
while (Response.ToLower() != "hallway" || Response.ToLower() != "dance room");
但是它不是很可靠的,因爲當我嘗試它與if/else語句或其他用途,這將只測試一次。有沒有更好的方法來測試?
你可以有用戶輸入和語法檢查位於無限循環中'而(真){...}'。否則就不清楚*「它只會測試一次」*有什麼問題。 – Sinatr
@Sintar如果用戶沒有正確輸入,它將不會重置循環,以便它們可以正確輸入,這就是我的意思。就像我輸入移動,然後不正確拼寫「走廊」,它不會再嘗試,只輸出它不明白。 –