4 svar
103 visningar
khahir behöver inte mer hjälp
khahir 5
Postad: 10 mar 2023 19:41 Redigerad: 10 mar 2023 19:47

gissa leken

problemet jag har är att när jag kör programmet så frågar den om jag vill spela igen när jag har 1 gissning kvar

Varför?

using System;

class Program
{
public static void Main(string[] args)
{
int slumpnummer = new Random().Next(1, 100);
int gissning;
int gissnigar;
string respons;
bool spelaIgen = true;
gissnigar = 1;
int försök = 1;
int MaxFörsök = 9;


Console.WriteLine("Hej o välkommen");

while (spelaIgen)
{

do
{

Console.WriteLine("Gissa på ett tal mellan 1 - 100");
gissning = int.Parse(Console.ReadLine());
gissnigar++;

if (gissning > 100)
{
Console.WriteLine("Du måste välja ett nummer från 1 - 100");
Console.WriteLine("Du har nu " + MaxFörsök + " försök kvar ");
MaxFörsök--;
försök++;
}

if (gissning < slumpnummer)
{
Console.WriteLine("Din gissning är för låg");
Console.WriteLine("Du har nu " + MaxFörsök + " försök kvar ");
MaxFörsök--;
försök++;
}
if (slumpnummer == gissning)
{

Console.WriteLine("Grattis du gissade rätt tal");
Console.Write("Du gissade " + gissnigar + " gånger ");
break;
}

if (gissning > slumpnummer)
{
Console.WriteLine("Din gissning är för hög");
Console.WriteLine("Du har nu " + MaxFörsök + " försök kvar ");
MaxFörsök--;
försök++;
}

if (MaxFörsök == -0)
{
break;
}

} while (gissning != slumpnummer);
Console.WriteLine(" Vill du spela igen? ");
Console.WriteLine(" J = Ja/ N = Nej ");
respons = Console.ReadLine();
respons = respons.ToUpper();
if (respons == "J")
{
spelaIgen = true;
}
if (respons == "N")
{
spelaIgen = false;
Console.WriteLine("Tack för din medverkan");
}

 

}

Laguna Online 30482
Postad: 10 mar 2023 19:43

Det går inte att se vad det står i din bild, tyvärr.

khahir 5
Postad: 10 mar 2023 19:48
Laguna skrev:

Det går inte att se vad det står i din bild, tyvärr.

där är koden

Laguna Online 30482
Postad: 11 mar 2023 09:26

Om den säger "du har nu 1 försök kvar" så gör du MaxFörsök-- på nästa rad och då blir den 0 och då går du ur loopen längre ner.

khahir 5
Postad: 11 mar 2023 09:46
Laguna skrev:

Om den säger "du har nu 1 försök kvar" så gör du MaxFörsök-- på nästa rad och då blir den 0 och då går du ur loopen längre ner.

Jag löste det genom att ändra på  if (maxförsök == 0 till -1 så nu funkar allt felfritt 

Svara
Close