while() loop exits after first run [Answered]

int targetNumber = RandomNumberGenerator();
Console.WriteLine($"TargetNumber = {targetNumber}");
MainLoop();

void MainLoop()
{

    bool parseSuccess = false;
    int answerInt = 0;

    while(!parseSuccess && answerInt != targetNumber)
    {
        parseSuccess = int.TryParse(Texting(), out answerInt);
        if (parseSuccess && answerInt == targetNumber)
        {
            Console.WriteLine("Success!");
            EndGame();
        }
        if (parseSuccess && answerInt != targetNumber)
        {
            Console.WriteLine("Wrong!");
        }
        if (!parseSuccess)
        {
            Console.WriteLine("That's not a valid numeral!");
        }
    }
    
}

string Texting()
{
    Console.Write("Guess a number between 1 and 10: ");
    string ?answer = Console.ReadLine();
    if (string.IsNullOrEmpty(answer))
    {
        Console.WriteLine("Actually enter something!");
        Texting();
    }
    return answer;
}

int RandomNumberGenerator()
{
    Random random = new Random();
    int randomInt = random.Next(1, 11);
    return randomInt;
}

void EndGame()
{
    Console.WriteLine("Would you like to play again");
    string input = Console.ReadLine();
    if (input == "yes")
    {
        targetNumber = RandomNumberGenerator();
        MainLoop();
    }
}
Was this page helpful?