Browse Source

refactoring: Edited code structure

Outsourced the generating random number method
remotes/origin/quiz
Friederike von Gruben 2 years ago
parent
commit
96715d3f43
  1. 22
      src/main/java/org/bitbiome/commands/QuizCommand.java

22
src/main/java/org/bitbiome/commands/QuizCommand.java

@ -9,20 +9,24 @@ import java.util.Random;
import java.util.Scanner; import java.util.Scanner;
public class QuizCommand implements CommandAPI { public class QuizCommand implements CommandAPI {
private Scanner quizScanner;
@Override @Override
public void performCommand(Scanner scanner, boolean isRunning, String message) { public void performCommand(Scanner scanner, boolean isRunning, String message) {
quizScanner = new Scanner(System.in);
String path = "src\\main\\resources\\quiz.json"; String path = "src\\main\\resources\\quiz.json";
JSONObject quiz = JsonParser.readJSONFile(path); JSONObject quiz = JsonParser.readJSONFile(path);
JSONArray fragen = quiz.getJSONArray("Quiz"); JSONArray fragen = quiz.getJSONArray("Quiz");
int index = new Random().nextInt(fragen.length());
JSONObject frage = fragen.getJSONObject(index);
JSONArray antworten = frage.getJSONArray("antworten");
JSONObject frage = fragen.getJSONObject(random(fragen.length()));
print("Du hast das Quiz gestartet! Hinweis: Wähle deine Antwort, indem du die Zahl (1-4) eingibst. Ist deine Lösung richtig, erhälst du 5 Münzen. Viel Erfolg! \n");
JSONArray antworten = frage.getJSONArray("antworten");
String frageString = frage.getString("frage"); String frageString = frage.getString("frage");
String korrekteAntwort = frage.getString("korrekteAntwort");
print("Du hast das Quiz gestartet! Hinweis: Wähle deine Antwort, indem du die Zahl (1-4) eingibst. Ist deine Lösung richtig, erhälst du 5 Münzen. Viel Erfolg! \n");
print(frageString); print(frageString);
@ -30,9 +34,9 @@ public class QuizCommand implements CommandAPI {
String antwort = antworten.getString(i); String antwort = antworten.getString(i);
print(i + 1 + ". " + antwort); print(i + 1 + ". " + antwort);
} }
Scanner quizScanner = new Scanner(System.in);
int eingabe = quizScanner.nextInt(); int eingabe = quizScanner.nextInt();
String korrekteAntwort = frage.getString("korrekteAntwort");
if (answerIsCorrect(eingabe, korrekteAntwort, antworten)) { if (answerIsCorrect(eingabe, korrekteAntwort, antworten)) {
print("Richtige Antwort!\n"); print("Richtige Antwort!\n");
@ -52,6 +56,10 @@ public class QuizCommand implements CommandAPI {
return message; return message;
} }
public static int random(int length) {
return new Random().nextInt(length);
}
} }
Loading…
Cancel
Save