Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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();
            }
        }