Passer en revue la solution pour ajouter des méthodes afin de rendre le jeu jouable
Le code suivant est une solution possible au défi à relever de l’unité précédente.
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!";
}
Ce code est juste « une solution possible » parce que vous pouvez avoir ajouté des sauts de ligne à différents endroits, retourné les valeurs différemment ou mis en forme le code différemment.
Quelles que soient les différences de code mineures, lorsque vous exécutez le code, vous devriez voir une sortie similaire à ce qui suit :
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 vous avez relevé ce défi, félicitations ! Passez au contrôle des connaissances dans l’unité suivante.
Important
Si vous avez rencontré des difficultés à relever ce défi, envisagez de revoir les unités précédentes avant de continuer. Tous les nouveaux concepts que nous évoquons dans d’autres modules vont dépendre de votre compréhension des concepts présentés dans ce module.