Ejemplo n.º 1
0
        /// <summary>
        /// Przeprowadzenie właściwej gry
        /// </summary>
        /// <returns>void</returns>
        private static async Task _quiz()
        {
            Console.Clear();

            Console.WriteLine($"Wybrałeś: {CategoryController.ChoosedCategory.Name}");

            List <Question> questions = await QuizController.GetQuestions(CategoryController.ChoosedCategory.Id);

            questions.Each((element, index) =>
            {
                Console.WriteLine($"{index + 1}. {element.QuestionContent}");
                Console.WriteLine($" 1. {element.AnswerA}");
                Console.WriteLine($" 2. {element.AnswerB}");
                Console.WriteLine($" 3. {element.AnswerC}");
                Console.WriteLine($" 4. {element.AnswerD}");

                int answer = 0;
                while (!QuizController.GetAnswer(element, answer))
                {
                    Console.Write("Podaj odpowiedź: ");
                    int.TryParse(Console.ReadLine(), out answer);
                }
                Console.Clear();
            });



            int result = QuizController.GetResult(questions);

            Console.WriteLine($"Zdobyłeś: {result} na {((int)QuizController.Level + 1) * questions.Count()} punktów, gratulacje!");
            await ResultController.SaveQuizResult();

            Console.WriteLine("Twój wynik został zapisany.");
            Console.WriteLine("0. Wróć do menu, inny klawisz zakończy działanie programu");
            Console.Write("Wybieram: ");
            int.TryParse(Console.ReadLine(), out int choose);
            if (choose == 0)
            {
                Console.Clear();
                await _getTheMenuOption();
            }
            else
            {
                Environment.Exit(0);
            }
        }