Окончательное время около ...
guess
все еще не равно secretword
OutOfGuesses
еще не верно GuessCount < GuessLimit
равно True
Таким образом, вы не задаете вопрос, вы устанавливаете OutOfGuesses равным True, но тогда, когда guess
не совпадает с secretword
, вы печатаете сообщение снова.
Чтобы это исправить, вам нужно установить для OutOfGuesses
значение true вне блока if/else
. Проверьте, достигли ли они своего предела, и установите для него значение True в конце l oop.
, то есть что-то вроде ...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
public class Program
{
public static void Main(string[] args)
{
string SecretWord = "Banana";
string Guess = "";
int GuessCount = 0;
int GuessLimit = 4;
bool OutOfGuesses = false;
while (Guess != SecretWord && !OutOfGuesses)
{
Console.Write("Enter a Guess: ");
Guess = Console.ReadLine();
GuessCount++;
if (GuessCount >= GuessLimit)
{
OutOfGuesses = true;
}
if (Guess != SecretWord)
{
Console.WriteLine("Wrong Guess");
}
}
if (OutOfGuesses)
{
Console.WriteLine("You Lose");
}
else
{
Console.WriteLine("You Win!");
}
Console.ReadLine();
}
}
}