Revisión de la solución para agregar métodos para que el juego sea jugable

Completado

El siguiente código es una posible solución al desafío de la unidad anterior.

Random random = new Random();

Console.WriteLine("Would you like to play? (Y/N)");
if (ShouldPlay()) 
{
    PlayGame();
}

bool ShouldPlay() 
{
    string response = Console.ReadLine();
    return response.ToLower().Equals("y");
}

void PlayGame() 
{
    var play = true;

    while (play) {
        var target = GetTarget();
        var roll = RollDice();

        Console.WriteLine($"Roll a number greater than {target} to win!");
        Console.WriteLine($"You rolled a {roll}");
        Console.WriteLine(WinOrLose(roll, target));
        Console.WriteLine("\nPlay again? (Y/N)");

        play = ShouldPlay();
    }
}

int GetTarget() 
{
    return random.Next(1, 6);
}

int RollDice() 
{
    return random.Next(1, 7);
}

string WinOrLose(int roll, int target) 
{
    if (roll > target) 
    {
        return "You win!";
    }
    return "You lose!";
}

Este código es simplemente "una posible solución" porque puede que haya agregado avances de línea en distintas zonas, devuelto valores de forma diferente o dado formato al código de otra manera.

Con independencia de las pequeñas diferencias de código, al ejecutarlo, debería ver una salida similar a la siguiente:

Would you like to play? (Y/N)
Y
Roll a number greater than 2 to win!
You rolled a 1
You lose!

Play again? (Y/N)
Y
Roll a number greater than 3 to win!
You rolled a 5
You win!

Play again? (Y/N)
Y
Roll a number greater than 2 to win!
You rolled a 3
You win!

Play again? (Y/N)
N

Si completó este desafío, ¡enhorabuena! Vaya a la prueba de conocimientos de la unidad siguiente.

Importante

Si ha tenido problemas para realizar este desafío, debería repasar las unidades anteriores antes de continuar. Todas las ideas nuevas que se tratan en los demás módulos dependen de su comprensión de las ideas presentadas en este.