N157 Gæt et tal (procedural version)
Tip
Se N155 Gæt et tal (iterativ version) før du kaster dig over denne!
Lav en procedural version af “Gæt et tal” spillet, hvor brugeren skal gætte et tilfældigt genereret tal mellem 1 og 100:
- Programmet skal have en metode
GenererTilfældigtTal
, der returnerer et tilfældigt tal mellem 1 og 100. - Programmet skal have en metode
HentTalFraBruger
, der returnerer et tal indtastet af brugeren. - Programmet skal have en metode
GivFeedback
, der udskriver feedback baseret på brugerens gæt. - Programmet skal bruge top-level statements.
- Hvis brugeren gætter forkert, skal programmet fortsætte med at bede om et nyt gæt, indtil brugeren gætter rigtigt.
- Du må gerne ignorere fejlhåndtering (eksempelvis hvis brugeren indtaster et forkert tal)
Udvidelse
Du kan måske selv finde på nogle udvidelser til spillet:
- Tæl antal forsøg brugeren har brugt på at gætte tallet.
- Lad brugeren vælge det maksimale tal, som det genererede tal kan være.
- Brug farver (brug
Console.ForegroundColor
) til at gøre spillet mere visuelt interessant.
Tip
Hvis du er i tvivl om hvordan du skaber en konsolapplikation så følg:
- Denne guide hvis du arbejder i Visual Studio Code
- Denne guide hvis du arbejder i Visual Studio
Klik for at se et forslag til en løsning
using System; // muligvis ikke nødvendig i nyere versioner af C# pga `ImplicitUsings`
int GenererTilfældigtTal()
{
Random random = new();
return random.Next(1, 101);
}
int HentTalFraBruger()
{
Console.Write("Gæt et tal mellem 1 og 100: ");
string? input = Console.ReadLine();
return Convert.ToInt32(input);
}
void GivFeedback(int guess, int correctNumber)
{
if (guess > correctNumber)
{
Console.WriteLine("For højt!");
}
else if (guess < correctNumber)
{
Console.WriteLine("For lavt!");
}
}
int numberToGuess = GenererTilfældigtTal();
int userGuess;
do
{
userGuess = HentTalFraBruger();
GivFeedback(userGuess, numberToGuess);
} while (userGuess != numberToGuess);
Console.WriteLine("Tillykke, du gættede det rigtige tal!");