所以我在学校有这个项目来制作一个游戏"猜数字"。我试图使用switch语句和while循环循环DialogResult。我尝试了很多可能性但是我进入了一个无限循环。只是要知道我是初学者。如果可能,我真的需要一些帮助。这是我的代码。提前谢谢。
private void btnStartTheGame_Click(object sender, EventArgs e)
{
int guessTheNumber = Convert.ToInt32(txtNumberGuess.Text);
DialogResult dialogResult = MessageBox.Show("Is number" + number.ToString() + " you are thinking about?", "Answer the question!", MessageBoxButtons.YesNo);
switch(dialogResult)
{
case DialogResult.No:
while (dialogResult == DialogResult.No)
{
Random newNumberGenerator = new Random();
number = newNumberGenerator.Next(0, 101);
MessageBox.Show("Is number" + number.ToString() + " you are thinking about?", "Answer the question!", MessageBoxButtons.YesNo);
}
break;
case DialogResult.Yes:
if (dialogResult == DialogResult.Yes)
{
MessageBox.Show("Congratulation! You guessed the number!!");
break;
}
break;
}
答案 0 :(得分:0)
您需要加载对话框的新结果。
int guessTheNumber = Convert.ToInt32(txtNumberGuess.Text);
DialogResult dialogResult;
do
{
Random newNumberGenerator = new Random();
number = newNumberGenerator.Next(0, 101);
dialogResult = MessageBox.Show("Is number" + number.ToString() + " you are thinking about?", "Answer the question!", MessageBoxButtons.YesNo);
} while (dialogResult == DialogResult.No);
MessageBox.Show("Congratulation! You guessed the number!!");
do
循环将首先执行代码,然后检查条件。这也将阻止在不同的地方使用相同的代码,意思相同。