Package eu.flrkv.wwm.Question
Class QuestionController
java.lang.Object
eu.flrkv.wwm.Question.QuestionController
public class QuestionController
extends java.lang.Object
Klasse zur Verwaltung der Spiel-Fragen
Kann als Objekt initialisiert werden um spezifisch für ein Spiel Fragen aus der Datenbanmk zu holen.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description QuestionController(Game pGame)
Kontruktor der Klasse QuestionController -
Method Summary
Modifier and Type Method Description static boolean
addQuestion(int pDifficulty, java.lang.String pQuestion, java.lang.String pAnswer0, java.lang.String pAnswer1, java.lang.String pAnswer2, java.lang.String pRightAnswer)
Speichert eine neue Frage in die Datenbankstatic boolean
deleteQuestion(int pQuestionID)
Löscht eine Frage anhand der IDstatic java.util.ArrayList<Question>
getAllQuestions()
Holt alle Fragen aus der Datenbank und gibt diese zurück.int[]
getIDsOfUsedQuestions()
Holt die ID's aller bereits benutzen Fragen für den Spielstand.static java.lang.String[]
getMixedAnswerArray(Question pQuestion)
Mischt die Antwortmöglichkeiten (Positionen des Arrays) durchQuestion
getNewQuestion(int pDifficulty)
GÃbt eine neu noch nicht verwendete Frage aus der MySQL-Datenbanktabelle 'wwm_questions' zurückstatic Question
getQuestion(int pQuestionID)
Holt eine Frage mit einer bestimmten ID aus der Datenbank.static int
getQuestionCount()
Zählt alle Zeilen (Frageanzahl) der Tabelle wwm_questionsprivate static Question
getRandomQuestion()
Gibt eine zufällige Frage zurückprivate boolean
questionIsUsed(int pID)
Prüft anhand einer FrageID ob die Frage bereits genutzt wurdeprivate void
setQuestionUsed(Question pQuestion)
Setzt eine Frage als bereits genutztMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
game
Objekt des aktuellen Spiels
-
-
Constructor Details
-
QuestionController
Kontruktor der Klasse QuestionController- Parameters:
pGame
- Objekt der Klasse Game -> Referenzobjekt für die Fragenasuwahl
-
-
Method Details
-
getIDsOfUsedQuestions
public int[] getIDsOfUsedQuestions()Holt die ID's aller bereits benutzen Fragen für den Spielstand.- Returns:
- Gibt die IDs (integer) als Array zurück.
-
questionIsUsed
private boolean questionIsUsed(int pID)Prüft anhand einer FrageID ob die Frage bereits genutzt wurde- Parameters:
pID
- FragenID- Returns:
- Gibt true zurü falls die Frage bereits genutzt wurde
-
setQuestionUsed
Setzt eine Frage als bereits genutzt- Parameters:
pQuestion
- Fragenobjekt
-
getNewQuestion
GÃbt eine neu noch nicht verwendete Frage aus der MySQL-Datenbanktabelle 'wwm_questions' zurück- Parameters:
pDifficulty
- Schwierigkeitskategorie der Frage (0 -> Leicht, 1 -> Mittel, 2 -> Schwer)- Returns:
- Gibt die Frage als Objekt zurück.
-
getMixedAnswerArray
Mischt die Antwortmöglichkeiten (Positionen des Arrays) durch- Parameters:
pQuestion
- Fragenobjekt- Returns:
- Array mit gemischten Antworten
-
getRandomQuestion
Gibt eine zufällige Frage zurück- Returns:
- Frage in Form eines Objekts der Klasse Question
-
addQuestion
public static boolean addQuestion(int pDifficulty, java.lang.String pQuestion, java.lang.String pAnswer0, java.lang.String pAnswer1, java.lang.String pAnswer2, java.lang.String pRightAnswer)Speichert eine neue Frage in die Datenbank- Parameters:
pDifficulty
- Schwierigkeitsgrad (1-3) der FragepQuestion
- Frage als StringpAnswer0
- Antwort als StringpAnswer1
- Antwort als StringpAnswer2
- Antwort als StringpRightAnswer
- Richtige Antwort als String- Returns:
- Gibt true als boolean zurück, wenn die Frage erfolgreich abgespeichert wurde.
-
getQuestion
Holt eine Frage mit einer bestimmten ID aus der Datenbank.- Parameters:
pQuestionID
- ID der Frage, die gelesen werden soll.- Returns:
- Gibt die Frage als Objekt zurück. Wenn keine Frage mit der ID existiert wird null zurückgegeben.
- Throws:
QuestionNotFoundException
- falls der Spielstand nicht gefunden wurde
-
deleteQuestion
public static boolean deleteQuestion(int pQuestionID)Löscht eine Frage anhand der ID- Parameters:
pQuestionID
- FragenID- Returns:
- Gibt true zurück wenn die Frage erfolgreich gelöscht wurde
-
getAllQuestions
Holt alle Fragen aus der Datenbank und gibt diese zurück.- Returns:
- Gibt die Fragen als ArrayList mit den Question Objekten zurück
-
getQuestionCount
public static int getQuestionCount()Zählt alle Zeilen (Frageanzahl) der Tabelle wwm_questions- Returns:
- Gibt die Anzahl der Zeilen als Integer zurück.
-