Rösta fram t-shirt till communityt!
Permalänk
Medlem

Bingo i c# hjälp

Tjena!
som tråden lyder ska jag skapa ett program som ger bingo när jag anger rätt siffra, Jag får till de hyfsat. Det som jag inte får till är:
vi säger att siffran 10 är bingo då vill jag att den bryter direkt och visar BINGO! men nu måste jag mata in gissningen 10ggr innan den ger mig bingo.... här är koden alla hjälp uppskattas!

using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;
using System.Runtime.ConstrainedExecution;

class TestClass
{
static void Main(string[] args)
{
Random random = new Random();
int slump = random.Next(1, 21);
int[] num = new int[10]; // valda nummer
bool lotto = false;
System.Console.WriteLine(slump);
System.Console.WriteLine("välkommen till denna bingo bricka, du har 10 siffor att ange och dessa har spannet mellan 1 till 20 ");

for (int i = 0; i < num.Length; i++)
{
System.Console.WriteLine("Gissning" + " " + ( i+ 1) + ":"); // skapa 10 radera med antal gissningar
int tal = int.Parse(Console.ReadLine());
num [i] = tal;

}
System.Console.WriteLine("Om du gissade på" + " " + slump + " " + " Grattis,,, om inte testa igen"); // vissa vinnande siffra

for (int j = 0; j < num.Length; j++)
{
if (num[j] == slump)
{
lotto = true;
}
if (lotto)
{
System.Console.WriteLine("BINGO");
break;
}
}
}
}

Permalänk
Medlem

Lägg koden inom [code] - taggar så är den lättare att läsa.

Ditt problem är att du läser input i en for-loop men väntar med att kontrollera resultatet till efter alla är inmatade. kolla om tal == slump på en gång istället. och om den är det, skriv ut "BINGO" och kliv ur loopen

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Medlem

Ett annat tips är att:

if (num[j] == slump) { lotto = true; } if (lotto) { System.Console.WriteLine("BINGO"); break; }

bara är ett krångligare sätt att skriva:

if (num[j] == slump) { lotto = true; System.Console.WriteLine("BINGO"); break; }

Du behöver inte ens lotto-variabeln, såvida du inte vill hålla koll på om det blev bingo eller ej efteråt.