示例#1
0
  @Override
  public void writeHTML(DisplayContext dc) {
    for (int i = 0; i < stringList.size() - 1; ++i) {
      dc.append(stringList.get(i));

      if (dc.isDisplayResponses()) {
        String[] answer = {"Your answer here"};
        if (dc.getStudentResponses() != null) {
          answer = dc.getStudentResponses().getLatestResponse(getId());
        }

        dc.append("<input type='text' disabled value='");
        dc.append(answer[0]);
        dc.append("'> ");

        if (dc.isDisplayAnswers()) {
          Response res = getResponseFor(answer[0]);
          if (res != null) {
            if (Score.correctQues(getId(), answer) == getPoints()) {
              dc.append("<span class='response correct'>");
            } else {
              dc.append("<span class='response'>");
            }
            writeHTML(dc);
            dc.append("</span>");
          }

          boolean hasAnswer = false;
          for (Answer ans : getAns()) {
            if (ans.getCorrect()) {
              hasAnswer = true;
              break;
            }
          }
          if (hasAnswer) {
            dc.append("\n<br>Possible answers:<br>");
            for (Answer ans : getAns()) {
              ans.writeHTML(dc);
              dc.append("<br>");
            }
          }
        }
      } else { // just show the empty box
        dc.append("<input name='").append(getId()).append("' class='fillin' type='text' />");
      }
    }

    dc.append(stringList.get(stringList.size() - 1));
  }
示例#2
0
 /**
  * Returns the winner of this game.
  *
  * @return the winner of this game or <code>null</code> if there is no winner.
  */
 public Player getWinner() {
   Player winner = null;
   Round lastRound = this.getLastRound();
   if (lastRound == null) {
     return winner;
   }
   int correct = GameConfiguration.numberLength();
   for (Player player : lastRound.getAnswers().keySet()) {
     Answer answer = lastRound.getAnswers().get(player);
     if (answer.getCorrect() == correct) {
       winner = player;
       break;
     }
   }
   return winner;
 }