@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)); }
/** * 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; }