Hjälp med C#, dubletter av siffror.
Hej,
jag håller precis nu att koda ett "bingo". Det verkar vara relativt återkommande på detta forum och kallas även lotto ibland.
Det jag vill ha hjälp med är att skriva koden när användaren själv skriver in sina siffror.
Jag vill inte att det ska gå att skriva in dubbletter av siffror utan bara nya siffror. Jag har testat på flera olika men får inte till det, inte ens i närheten av att lyckas, vanligtvis förstör det hela loopen.
Såhär ser koden ut:
//Deklarera bingoraden i en array
int[] bingorad = new int[10];
//Deklarera användarens bingorad i en array
int[] spelarnummer = new int[10];
//skapa slumptalsgenerator
int[] vinst = new int[1];
Random random = new Random();
int Bingo = random.Next(1, 26);
for (int i = 0; i < bingorad.Length; i++) //Lägger in slumptal i Bingorad
{
var value = random.Next(1, 26);
if (bingorad.Contains(value))
{
i--;
continue;
}
bingorad[i] = value;
}
Array.Sort(bingorad); // Sorterar bingoraden i ordning.
for (int i = 0; i < spelarnummer.Length; i++)//Låter användaren bestämma sin bingorad
{
Console.Write("Nummer " + (i + 1) + " ");
spelarnummer[i] = Convert.ToInt32(Console.ReadLine());
if (spelarnummer[i] < 1 || spelarnummer[i] > 25)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Välj endast tal mellan 1 och 25");
i--;
Console.ResetColor();
}
}
Array.Sort(spelarnummer);
Console.Clear(); // Rensar allt från skärmen
Console.WriteLine("Talen du valde var dessa: ");
Console.ForegroundColor = ConsoleColor.Blue;
for (int i = 0; i < spelarnummer.Length; i++)
{
Console.Write(spelarnummer[i]);
Console.Write(", ");
}
Console.WriteLine();
Console.ResetColor();
Console.WriteLine("Bingoraden var: "); // Tar fram bingoraden för spelaren
Console.ForegroundColor= ConsoleColor.Yellow;
for (int i = 0; i < bingorad.Length; i++)
{
Console.Write(bingorad[i]);
Console.Write(", ");
}
int lyckotal = 0; // skapar en variabel för att ha koll på antal rätt
Console.WriteLine();
Console.ResetColor();
Console.WriteLine("Vinst på nummer: ");
Console.ForegroundColor = ConsoleColor.Green;
for (int i = 0; i < spelarnummer.Length; i++) // tar reda på antal rätt mellan spelarens nummer och slumpade nummer
{
Thread.Sleep(500);
for (int j = 0; j < bingorad.Length; j++)
{
if (bingorad[i] == spelarnummer[j])
{
lyckotal++;
Console.Write(bingorad[i]);
Console.Write(", ");
}
}
}
Console.WriteLine();
Console.WriteLine("Antal rätt: " + lyckotal); // visar antal rätt för spelaren
Console.ResetColor();
Console.WriteLine("Bra spelat!");
Console.WriteLine("Tryck på valfri knapp för att avsluta programmet");
Console.ReadKey();