aboutsummaryrefslogtreecommitdiff
path: root/Week5/src/week5/MCQuestion.java
diff options
context:
space:
mode:
Diffstat (limited to 'Week5/src/week5/MCQuestion.java')
-rw-r--r--Week5/src/week5/MCQuestion.java81
1 files changed, 0 insertions, 81 deletions
diff --git a/Week5/src/week5/MCQuestion.java b/Week5/src/week5/MCQuestion.java
deleted file mode 100644
index 86869c5..0000000
--- a/Week5/src/week5/MCQuestion.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package week5;
-
-import java.util.Random;
-
-/**
- * Class for multiple choice questions
- *
- * Note: for 2-choice questions the TCQuestion class should be used.
- *
- * @author Camil Staps, s4498062
- */
-public class MCQuestion extends Question {
-
- protected final String[] answers;
- protected final int correctAnswer;
-
- /**
- * Construct a new instance
- *
- * @param question the question
- * @param answers array of the answer
- * @param correctAnswer index for answers pointing to the correct answer
- * @param weight weight of the question
- */
- public MCQuestion (String question, String[] answers, int correctAnswer, int weight) {
- this.question = question;
- this.answers = answers;
- this.correctAnswer = correctAnswer;
- setWeight(weight);
- }
-
- /** See the javadoc on the constructor above */
- public MCQuestion (String question, String[] answers, int correctAnswer) {
- this.question = question;
- this.answers = answers;
- this.correctAnswer = correctAnswer;
- }
-
- @Override
- public boolean isCorrect(String answer) {
- return correctAnswer == (answer.charAt(0) - 'A');
- }
-
- @Override
- public String juisteAntwoord() {
- return answers[correctAnswer];
- }
-
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder(super.toString());
- sb.append("\n");
- int i = 0;
- for (String a : answers) {
- sb.append((char) ('A' + i++)).append(": ").append(a).append("\n");
- }
- sb.deleteCharAt(sb.length() - 1);
- return sb.toString();
- }
-
- /**
- * For this type of questions, duplicating randomizes the order of the answers.
- *
- * @return A new instance of the MCQuestion class with the same parameters, just another order of the answers.
- */
- @Override
- public Question duplicate() {
- Random r = new Random();
- int shift = r.nextInt(answers.length - 1) + 1;
-
- String[] new_answers = new String[answers.length];
- for (String a : answers) {
- new_answers[shift++ % answers.length] = a;
- }
-
- int new_correctAnswer = (correctAnswer + shift) % answers.length;
-
- return new MCQuestion(question, new_answers, new_correctAnswer, weight);
- }
-
-}