Fel i kod
Varför står det You Win! framför varje tal? Hittar inte vart jag skrivit detta.
Alldeles mot slutet av loopen, i din sista else.
Det finns nog en sökfunktion i programmeringsmiljön, så du kan hitta en viss text.
sictransit skrev:Alldeles mot slutet av loopen, i din sista else.
Vart ska den placeras då? Jag följde en youtube tutorial från giraffe academy och min text är som hans men hans program kör den inte som mitt. Vart placeras den för att endast skrivas ut vid rätt gissning?
Som koden är strukturerad nu så finns det inte något ställe dit du kan flytta utskriftsraden så att "You Win!" enbart skrivs ut vid rätt gissning. Om du lyfter ut den här biten till efter while-loopen, så borde du få förväntat resultat.
Vi kan bara ramla ur loopen vid rätt gissning och om antalet gissningar är slut. Då kontrollerar vi varför och skriver ut lämpligt meddelande.
Har du koll på vad koden gör, hur den fungerar, eller har du bara skrivit av något? Jag vet inte vilken tutorial du följt, så jag kan inte jämföra.
Ungefär så här skulle man också kunna göra, baserat på den kod du redan skrivit:
static void Main(string[] args)
{
string secretWord = "giraffe";
string guess = "";
int guessCount = 0;
int guessLimit = 3;
while (guess != secretWord && guessCount < guessLimit)
{
Console.Write("Enter guess: ");
guess = Console.ReadLine();
guessCount++;
}
if (guess == secretWord)
{
Console.WriteLine("You win!");
}
else
{
Console.WriteLine("You lose!");
}
}
Jag har kollat på tutorial och följt stegvis samma sak.
Koden ber användaren gissa det hemliga ordet på max tre försök.
För att hålla koll på antal försök räknar den varje gissning och lägger till ett värde efter varje gissning med guessCount++.
Vid fel svar ska den låta användaren gissa igen tills 3 försök är uppfyllda.
Vid rätt svar ska den visa You win.
lagamba skrev:Jag har kollat på tutorial och följt stegvis samma sak.
Koden ber användaren gissa det hemliga ordet på max tre försök.
För att hålla koll på antal försök räknar den varje gissning och lägger till ett värde efter varje gissning med guessCount++.
Vid fel svar ska den låta användaren gissa igen tills 3 försök är uppfyllda.
Vid rätt svar ska den visa You win.
Ja, det är vad den gör med den ändring jag föreslog. Antingen ett flyttat kodblock i den kod du postade, eller den något kortade implementation jag knåpade ihop.