Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            QuizTaker quizTaker = new QuizTaker(SampleQuizzes.VariablesAndDataTypes);

            quizTaker.TakeQuiz(true);

            Console.ReadLine();


            quizTaker = new QuizTaker(SampleQuizzes.TheBridgeOfDeath);
            quizTaker.TakeQuiz(true);

            Console.WriteLine();
            Console.WriteLine("Thanks for playing - Please come back soon!");
            Console.ReadLine();
        }
Example #2
0
        static void SelectAQuiz()
        {
            // Loop until the user is done
            bool quit = false;

            while (!quit)
            {
                Console.Clear();

                // Print heading

                // Show the user the list of quizzes
                //Print each quiz
                Dictionary <int, Quiz> choices = new Dictionary <int, Quiz>();
                int choice = 1;
                Console.WriteLine($"{"Choice",6} {"Name",-40} {"Score",6}");
                Console.WriteLine("=========================================================");
                foreach (KeyValuePair <Quiz, double?> kvp in quizzes)
                {
                    Quiz quiz = kvp.Key;
                    choices.Add(choice, quiz);
                    string scoreString = "---";
                    double?score       = kvp.Value;
                    if (score.HasValue)
                    {
                        scoreString = $"{Math.Round(score.Value)}%";
                    }
                    Console.WriteLine($"{choice,5}) {quiz.Name,-40} {scoreString,6}");
                    choice++;
                }

                // Allow user to select one to take
                bool validSelection = false;
                int  selection      = 0;
                while (!validSelection)
                {
                    Console.WriteLine();
                    Console.Write("Select a quiz (Q to quit): ");
                    string input = Console.ReadLine().ToLower();

                    if (input.StartsWith("q"))
                    {
                        quit = true;
                        return;
                    }
                    if (!int.TryParse(input, out selection))
                    {
                        // try again
                        continue;
                    }
                    if (!choices.ContainsKey(selection))
                    {
                        continue;
                    }
                    validSelection = true;
                }
                // Ok, take the quiz
                Quiz      quizToTake = choices[selection];
                QuizTaker quizTaker  = new QuizTaker(quizToTake);
                quizTaker.TakeQuiz(true);
                // Record the score
                quizzes[quizToTake] = quizToTake.Score;

                Console.ReadLine();
            }
        }