我在課堂上負責使用c#和do/while,if/else循環創建隨機數生成猜謎遊戲。這個任務看起來很簡單,然而,我遇到了問題,因爲我應該通過提示用戶「輸入想要猜測的最大值」來啓動遊戲。 我不能讓我的程序正常工作,因爲每次運行它時,無論輸入什麼值,都表示「選擇1和0之間的值」用戶選擇最大值的猜測遊戲
我附加了我的exe文件。
Random generator = new Random();
bool truth = true;
int MaxRange = Convert.ToInt32(truth); ;
int userguess = 0;
int outputnumber = generator.Next(MaxRange);
do
{
Console.WriteLine(" Enter a max number you want to guess from!", MaxRange);
Console.ReadLine();
Console.WriteLine("please make a guess between 1 and {0}", outputnumber);
if (userguess != outputnumber)
{
userguess = Convert.ToInt32(Console.Read());
if (userguess < outputnumber)
{
Console.WriteLine("That is not correct, Guess again");
Console.ReadLine();
}
if(userguess > outputnumber)
{
Console.WriteLine("That is not correct, Guess again");
Console.ReadLine();
}
else if (userguess == outputnumber)
{
console.writeline("That is correct, the number is {0}, outputnumber);
}
}
} while (truth == false);
}
}
}
因爲你沒有任何形式的'if'塊內的代碼。它會打印每次。 –
也許我是盲目的......但我沒有看到任何你設置'真相'到'錯誤'的地方。讓我拿我的其他眼鏡 – Zuzlx
我沒有看到你設置用戶響應的最大數量。我不知道你如何將一個布爾轉換爲最大範圍的int。我建議TryParse用於最大範圍和用戶猜測,以確保他們輸入了一個int。 – Tony