예제 #1
0
 public void doIncorrectAction() {
   quizConsole.appendMessage("Sorry, you missed it." + CR);
   quiz.saveQuestionForRedo();
 }
예제 #2
0
  /* (non-Javadoc)
   * @see com.jguice.quizzle.interfaces.Quizzer#doQuiz()
   */
  public void doQuiz() throws IOException {
    String userInput = "y";
    int numQuestionsLeft;

    quizConsole = new QuizConsole();

    quizConsole
        .getRepeatButton()
        .addActionListener(
            new ActionListener() {

              public void actionPerformed(ActionEvent event) {
                getQuestion().doPrompt();
                quizConsole.requestAnswerFocus();
              }
            });

    // TODO Improve user input processing
    while (userInput.toLowerCase().equals("y") || userInput.toLowerCase().equals("r")) {
      if (userInput.toLowerCase().equals("y") || (quiz.getNumQuestions() - numCorrect) == 0)
        resetQuiz();
      else redoQuiz();
      quizConsole.getRepeatButton().setEnabled(true);

      while (quiz.hasQuestions()) {
        question = quiz.nextQuestion();
        numQuestionsSoFar++;
        numQuestionsLeft = quiz.getNumQuestions() - numQuestionsSoFar;
        quizConsole.appendMessage(question.doPrompt() + CR);

        userInput = quizConsole.getAnswer();

        if (question.checkAnswer(userInput)) {
          doCorrectAction();
          numCorrect++;
        } else {
          doIncorrectAction();
        }

        if (numQuestionsLeft > 0) {
          quizConsole.appendMessage(
              "You have gotten "
                  + numCorrect
                  + " out of "
                  + numQuestionsSoFar
                  + " so far ("
                  + numQuestionsLeft
                  + " left)"
                  + CR
                  + CR);
        } else {
          // System.out.println();
          quizConsole.appendMessage(CR);
        }
      }
      quizConsole.getRepeatButton().setEnabled(false);

      // TODO Replace with a dialog
      quizConsole.appendMessage(
          "You got " + numCorrect + " out of " + quiz.getNumQuestions() + " possible" + CR);

      if ((quiz.getNumQuestions() - numCorrect) == 0)
        quizConsole.appendMessage("Try again? (y/n)?" + CR + CR);
      else quizConsole.appendMessage("Try again? (y/n) or Redo Missed (r)?" + CR + CR);

      userInput = quizConsole.getAnswer();
    }
    quiz.terminate();
    quizConsole.dispose();
  }
예제 #3
0
 public void doCorrectAction() {
   quizConsole.appendMessage("You got it!" + CR);
 }