private void NextQuestion() { // Update the score based on the current answers bool failed = false; foreach (var answ in CurrentQuestion.Answers) { if (answ.IsCorrect && !answ.IsChecked) { failed = true; } if (!answ.IsCorrect && answ.IsChecked) { failed = true; } } if (!failed) { _score++; } // Passed the last question if (_currentQuestionIndex >= _questions.Length - 1) { EndGame(); } else { // Update current question _currentQuestionIndex++; CurrentQuestion = _questions[_currentQuestionIndex]; CurrentQuestionType = AnswerTemplateSelector.SelectTemplate(CurrentQuestion); } }
public QuizWindowViewModel(ISessionService sessionService, IQuizDataService quizDataService, IWindowService windowService) { _sessionService = sessionService; _quizDataService = quizDataService; _windowService = windowService; var difficulty = _sessionService.GetDifficulty(); _questions = quizDataService.GetQuestionsOfDifficulty(5, difficulty); CurrentQuestion = _questions[_currentQuestionIndex]; CurrentQuestionType = AnswerTemplateSelector.SelectTemplate(CurrentQuestion); }