Kodutmaningar
🧠 Syfte
Den här sidan är till för dig som vill öva på dina C-Sharp-kunskaper med roliga och utmanande uppgifter! Vi ska koda oss igenom några små, luriga problem med bakgrundshistorier som får dig att vilja lösa dem. Tänk på det som ett programmeringsäventyr! Varför är det bra? Jo, genom att testa dina kunskaper på olika sätt blir du en bättre programmerare – lite som att träna olika muskler. Vi börjar enkelt, men lovar att det blir roligare och mer utmanande ju längre vi kommer. Redo?
💻 Koden
Här kommer vårt första exempel: En kod som gissar ett tal mellan 1 och 100.
using System;
public class GuessingGame
{
public static void Main(string[] args)
{
Random random = new Random();
int secretNumber = random.Next(1, 101); // slumpmässigt tal mellan 1 och 100
int guess;
int attempts = 0;
Console.WriteLine("Välkommen till gissningsspelet!");
Console.WriteLine("Jag har tänkt på ett tal mellan 1 och 100. Kan du gissa vilket?");
do
{
Console.Write("Gissa ett tal: ");
if (int.TryParse(Console.ReadLine(), out guess))
{
attempts++;
if (guess < secretNumber)
{
Console.WriteLine("För lågt! Försök igen.");
}
else if (guess > secretNumber)
{
Console.WriteLine("För högt! Försök igen.");
}
else
{
Console.WriteLine($"Grattis! Du gissade rätt på {attempts} försök!");
}
}
else
{
Console.WriteLine("Ogiltig inmatning. Vänligen ange ett heltal.");
}
} while (guess != secretNumber);
}
}
📋 Förklaring
Låt oss gå igenom koden steg för steg. Tänk på det som ett recept – vi ger datorn instruktioner att följa.
using System;: Den här raden importerarSystem-biblioteket, som innehåller massa användbara saker, bland annatRandomochConsole.public class GuessingGame: Vi skapar en klass som heterGuessingGame. Tänk på en klass som en mall för att bygga något.public static void Main(string[] args): Här börjar programmet.Mainär huvudfunktionen, där allting händer.Random random = new Random();: Vi skapar ett slumpgeneratorobjekt. Det är som en tärning för datorn!int secretNumber = random.Next(1, 101);: Datorn väljer ett hemligt tal mellan 1 och 100.do ... while-loopen: Denna loop fortsätter tills du gissar rätt. Det är som en “gör tills”-instruktion.Console.WriteLine(...): Skriver ut text på skärmen.int.TryParse(...): Kontrollerar om användarens inmatning är ett giltigt heltal. Det är viktigt för att undvika krascher!if-satserna: Jämför din gissning med det hemliga talet och ger feedback.
Detta diagram visar flödet i spelet. Det börjar med en gissning, sen kollar vi om den är för låg eller för hög, och så fortsätter det tills vi gissar rätt.
🎨 Visuella hjälpmedel (vid behov)
Diagrammet ovan illustrerar hur slingan fungerar. Den fortsätter att loopa tills rätt svar ges.
⚠️ Vanliga misstag
- Felaktig inmatning: Se till att du anger ett heltal. Om du skriver bokstäver kommer programmet att krascha (eller ge ett felmeddelande, beroende på hur robust din kod är).
- Oändlig loop: Om du har fel logik i dina
if-satser kan det hända att loopen aldrig slutar. Det är därför det är viktigt att testa din kod noggrant!
📚 Sammanfattning
Vi har skapat ett enkelt gissningsspel! Du har lärt dig att använda Random, Console, loopar och if-satser. Det här är grundläggande byggstenar i programmering, så bra jobbat!
🧪 Övningar
- Ändra spelet så att det har ett begränsat antal försök.
- Lägg till svårighetsgrader (t.ex. gissa ett tal mellan 1 och 10, 1 och 100, eller 1 och 1000).
- (Avancerat) Låt användaren välja om de vill spela igen efter att de har gissat rätt.
😄 Obligatoriskt pappaskämt
Varför var programmeraren ledsen? För att de inte fick någon array!
Du klarar det här! Koda vilt!