以某种方式,我的价值永远不等于1,是有原因吗?

问题描述 投票:-2回答:1

我永远无法在系统日志中使guessLimit等于1,当我将猜测的极限输入为5并开始猜测时,guessLimit会一直下降到2,这会给我“您输了”消息,但不让我做最后的猜测...是否有原因?

public static void Main(string[] args){
    string guess = "";
    bool outOfguesses = false;
    int guessCount = 0;
    Console.Clear();
    Console.Write("Enter the ammount of guesses you want: ");
    int guessLimit = Convert.ToInt32(Console.ReadLine());
    Console.Clear();
    Console.Write("Enter a word that will be guessed...: ");
    string secretWord = Console.ReadLine();
    Console.Clear();
    Console.Write("You have " + guessLimit + " guesses" + "\nEnter a guess: ");
    guess = Console.ReadLine();
    while(guess.ToLower() != secretWord.ToLower() && !outOfguesses){
      if(guessLimit >= guessCount || guessLimit == 1){
        guessCount++;
        guessLimit--;
        Console.Write("\nWRONG! You have " + guessLimit + " guesses left." + "\nEnter another guess: ");
        guess = Console.ReadLine();
      } else{
        outOfguesses = true;
      }
    }
    if(outOfguesses == true){
      Console.WriteLine("\nSorry...\nYou lose!");
    } else{
      Console.WriteLine("\nGood Job.\nYou Win!!");
    }
    Console.ReadLine();
  }
c#
1个回答
0
投票

当您的if语句到达(是2> = 3)这是错误的,因此它将跳过if并转到else这就是为什么它停在那里。还要将您的guesslimit == 1更改为<1

© www.soinside.com 2019 - 2024. All rights reserved.