Revizuiți soluția pentru a adăuga metode pentru a face jocul să se joace

Finalizat

Următorul cod este o soluție posibilă pentru provocarea de la unitatea anterioară.

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!";
}

Acest cod este doar "o soluție posibilă", deoarece este posibil să fi adăugat fluxuri de linii în locuri diferite, să returneze valori în mod diferit sau să formateze codul în mod diferit.

Indiferent de diferențele minore de cod, atunci când rulați codul, ar trebui să vedeți ieșirea similară cu următoarele:

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

Dacă ai finalizat această provocare, felicitări! Continuați verificarea cunoștințelor în unitatea următoare.

Important

Dacă ai avut probleme la finalizarea acestei provocări, ia în considerare revizuirea unităților anterioare înainte de a continua. Toate ideile noi pe care le discutăm în alte module vor depinde de înțelegerea ideilor care au fost prezentate în acest modul.