private static Valasz[] TombKever(Valasz[] valaszok) { for (int i = 0; i < valaszok.Length; i++) { int x = rnd.Next(valaszok.Length); int y = rnd.Next(valaszok.Length); Valasz cs = valaszok[x];//letárolom egy csereváltozóban valaszok[x] = valaszok[y]; valaszok[y] = cs; } return(valaszok); }
private static void FeladatMegjelenitese(int i) { int randomindex = rnd.Next(1, teszt.Count); Valasz[] valaszok = new Valasz[4]; valaszok[0] = new Valasz() { valaszSzovege = teszt[randomindex].helyesValasz, helyesValasz = true, }; valaszok[1] = new Valasz() { valaszSzovege = teszt[randomindex].rosszValasz1, helyesValasz = false, }; valaszok[2] = new Valasz() { valaszSzovege = teszt[randomindex].rosszValasz2, helyesValasz = false, }; valaszok[3] = new Valasz() { valaszSzovege = teszt[randomindex].rosszValasz3, helyesValasz = false, }; Valasz[] kevertValaszok = TombKever(valaszok); Console.Write($"\n10/{i}. kérdés: {teszt[randomindex].kategoria} kategóriában"); //kategória és kérdés és lehetséges válaszok kiírása Console.SetCursorPosition(80, 1); Console.BackgroundColor = ConsoleColor.Gray; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("Eddigi nyereményed: {0, 0:N0} Ft", nyeremeny[i - 1]); Console.ResetColor(); Console.WriteLine("\n"); Console.WriteLine($"{teszt[randomindex].kerdes}\n"); Console.WriteLine($"\ta) {kevertValaszok[0].valaszSzovege}\n" + $"\tb) {kevertValaszok[1].valaszSzovege}\n" + $"\tc) {kevertValaszok[2].valaszSzovege}\n" + $"\td) {kevertValaszok[3].valaszSzovege}\n"); teszt.RemoveAt(randomindex); Console.WriteLine("\nÍrd a helyes válasz betűjelét, és nyomj egy enter-t!"); BeiroBox(5, 7); Console.SetCursorPosition(vk, hk); Console.BackgroundColor = ConsoleColor.Gray; Console.ForegroundColor = ConsoleColor.Black; char valasz = char.Parse(Console.ReadLine()); // csak egy enter nyomásra, itt ad Exception unhandled-t. Console.ResetColor(); char[] valaszBetujel = { 'a', 'b', 'c', 'd' }; int valaszindex = Array.IndexOf(valaszBetujel, valasz); // a lesz a 0-as indexű, b lesz az 1-es indexű, c lesz a 2-es indexű és d lesz a 3-as indexű if (valaszindex == -1) //Because most arrays have a lower bound of zero, this method generally returns - 1 if value isn't found. De mi a helyzet, ha csak egy enter-t nyom a felhasználó? Exception unhandled-be fut. { ok = false; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("\n\n\n\nSAJNÁLOM, ILYEN VÁLASZLEHETŐSÉG NINCS!"); Thread.Sleep(3000); Console.ResetColor(); } else if (kevertValaszok[valaszindex].helyesValasz == true) { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine("\n\n\n\nHELYES VÁLASZ!"); Console.WriteLine("Nyereményed: {0, 0:N0} Ft", nyeremeny[i]); Thread.Sleep(3000); Console.ResetColor(); Console.Clear(); } else { ok = false; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("\n\n\n\nHELYTELEN VÁLASZ!\n"); Thread.Sleep(3000); Console.ResetColor(); } }