我永远无法在系统日志中使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();
}
当您的if语句到达(是2> = 3)这是错误的,因此它将跳过if并转到else这就是为什么它停在那里。还要将您的guesslimit == 1更改为<1