【问题标题】:Number guessing game: Different message when guess = >100?数字猜谜游戏:当猜测 = >100 时出现不同的信息?
【发布时间】:2021-11-05 20:40:16
【问题描述】:

我正在为班级创建一个小数字猜谜游戏,但我有一个问题我的教授还没有谈到:

在我的 if 语句中,当猜测是 随机数和 == 随机数时,我有不同的消息告诉玩家。现在我还想在猜测与随机数相差太远时打印一条消息;

如果随机数是 700 并且我的猜测是超过 100,我如何将它放在 if 语句中?我当然尝试过guess + >100,但这显然行不通。我需要一个新变量吗?

【问题讨论】:

  • 嗨,很难在你的脑海中调试故事或阅读代码。考虑将代码放入问题中,以便我们有更好的机会提供帮助
  • 先给我们看一些你已经拥有的代码。

标签: c# if-statement


【解决方案1】:

你可以这样做。

if (Math.Abs(guessedNumber - randomNumber)> 100){
Console.WriteLine("Your number is so far from the random number")
}

【讨论】:

    【解决方案2】:

    您的猜测会比您的数字大 100 或小 100。

    int randomNr = 350;
    int guess =  250;
    int maxOff = 100;
    
    if (guess - randomNr > maxOff || randomNr - guess > maxOff)
    {
        //Show message.
    }
    

    【讨论】:

      【解决方案3】:

      在提出问题时始终尝试包含您的代码。

      没有您的代码,这是您问题的潜在解决方案:

      1.打印消息,告诉您猜错了多少

      int diff;
      diff = random - guess;
      if(diff > 0)
      {
      
          Console.WriteLine($"guess is smaller by {diff}");
      
      }
      
      else if(diff < 0)
      {
      
          Console.WriteLine($"Guess is greater by {diff}");
      
      }
      

      【讨论】:

        【解决方案4】:

        你可以试试这个

          public static int rand = new Random().Next(0, 999);
          public static string myNumber; 
            static void Main(string[] args)
            {
                Console.WriteLine("Guess the random number");
                do
                {
                    myNumber = Console.ReadLine();
                    IHopeIguessRandomNumber(Convert.ToInt32(myNumber));
                }
                while (Convert.ToInt32(myNumber) != rand);
            }
        
        
        
            public static void IHopeIguessRandomNumber(int myGuess)
            {
                if ( myGuess == rand)
                {
                    Console.WriteLine("You're right! This is the right number");
                }
                else if (myGuess <= rand - 100)
                {
                    Console.WriteLine("Too Low! Your number is < random");
                }
                else if ( myGuess < rand)
                {
                    Console.WriteLine("Your number is < random");
                }
                else if (myGuess >= rand + 100)
                {
                    Console.WriteLine("Too Big! Your number is > random");
                }
                else if (myGuess > rand)
                {
                    Console.WriteLine("Your number is > random");
                }
            }
        

        祝你有美好的一天:)

        【讨论】:

          【解决方案5】:

          您可以像这样使用嵌套的 IF 块。

          if(guessNum < randomNum)
          {
              if(guessNum < randomNum - 100)
              {
                 Console.WriteLine("The guessed number is too Low");
              }
              else
              {
                 Console.WriteLine("The guessed number is Low, but you are close");
              }
          }
          else if(guessNum > randomNum)
          {
              if(guessNum > randomNum + 100)
              {
                 Console.WriteLine("The guessed number is too High");
              }
              else
              {
                 Console.WriteLine("The guessed number is High, but you are close");
              }
          }
          

          如果您添加现有代码sn-p,我可以为您提供确切答案。

          【讨论】:

            猜你喜欢
            • 2019-06-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-04
            相关资源
            最近更新 更多