Bekijk de oplossing om methoden toe te voegen om het spel speelbaar te maken

Voltooid

De volgende code is één mogelijke oplossing voor de uitdaging van de vorige les.

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

Deze code is slechts één mogelijke oplossing, omdat u mogelijk regelfeeds op verschillende plekken hebt toegevoegd, verschillende waarden hebt geretourneerd of de code anders hebt opgemaakt.

Ongeacht kleine codeverschillen ziet u, wanneer u de code uitvoert, uitvoer die er ongeveer als volgt uitziet:

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

Als u deze uitdaging hebt voltooid, gefeliciteerd! Ga door naar de kennistoets in de volgende eenheid.

Belangrijk

Als u problemen ondervindt bij het voltooien van deze uitdaging, kunt u overwegen de vorige lessen te bekijken voordat u doorgaat. Voor alle nieuwe ideeën die in andere modules worden besproken, is het belangrijk dat u de inhoud van deze module begrijpt.