1

だから私は学校でこのプロジェクトを持って、ゲーム「数を推測する」を作成します。switch ステートメントと while ループを使用して DialogResult をループしようとしています。多くの可能性を試しましたが、無限ループに陥ります。私が初心者であることを知っているだけです。可能であれば、ここで助けが必要です。これは私のコードです。前もって感謝します。

private void btnStartTheGame_Click(オブジェクト送信者, EventArgs e)
        {
            intguessTheNumber = Convert.ToInt32(txtNumberGuess.Text);
            DialogResult dialogResult = MessageBox.Show("Is number" + number.ToString() + "あなたは何を考えていますか?", "質問に答えてください!", MessageBoxButtons.YesNo);
            スイッチ(ダイアログ結果)
            {

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; }

4

1 に答える 1

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条件をチェックします。これにより、異なる場所に同じコードが存在することも防止されます。つまり、同じことを意味します。

于 2014-03-12T15:39:47.197 に答える