Package spiel_logik
Class FragenListe
java.lang.Object
spiel_logik.FragenListe
public class FragenListe
extends java.lang.Object
Eine Jahrgangstufe beinhaltet eine gewissen Anzahl an Fragen.
Sie ist als eine einfach verkette Liste nach dem Entwurfsmuster „Kompositum“
realisiert.
Sie entspricht der Klasse „Liste“ aus dem
AUD 4 Beispiel
von Annabel.
-
Constructor Summary
Constructors Constructor Description FragenListe()
-
Method Summary
Modifier and Type Method Description Frage
entnimmErsteFrage()
Entnehme die erste Frage aus der Liste und setzte die zweite Frage an die Position der Ersten.Frage
entnimmFrage(int schwierigkeit)
Entnehme eine Frage aus der Liste mit der passenden Schwierigkeit.void
erzeugeFrage(java.lang.String fragenText, java.lang.String richtigeAntwort, java.lang.String falscheAntwort1, java.lang.String falscheAntwort2, java.lang.String falscheAntwort3, java.lang.String schwierigkeit)
Erzeuge eine neue Frage anhand von mehreren String-Argumenten und füge diese Frage zufällig ein.void
fügeFragenAlsFeldEin(java.lang.String[][] fragen)
Füge mehrere Fragen zufällig als zweidimensionales Feld ein.void
fügeHintenEin(Frage frage)
Füge eine Frage hinten in die Liste ein.void
fügeVorneEin(Frage frage)
Füge eine Frage vorne in die Liste ein.void
fügeVorPositionEin(Frage frage, int position)
Füge ein Frage vor einer Positions-Nummer ein.void
fügeZufälligEin(Frage frage)
Füge zufällig eine Frage in die Fragenliste ein.int
gibAnzahlDatenKnoten()
Diese Methode berechnete die Anzahl der Datenknoten und damit die Anzahl der Frage rekursiv.int
gibAnzahlFragen()
Gib die Anzahl der Fragen zurück.ListenElement
gibKopf()
-
Constructor Details
-
FragenListe
public FragenListe()
-
-
Method Details
-
fügeVorneEin
Füge eine Frage vorne in die Liste ein.- Parameters:
frage
- Die Frage, die eingefügt werden soll.
-
gibKopf
-
fügeHintenEin
Füge eine Frage hinten in die Liste ein.- Parameters:
frage
- Die Frage, die eingefügt werden soll.
-
fügeVorPositionEin
Füge ein Frage vor einer Positions-Nummer ein.- Parameters:
frage
- DieFrage
, die einfügt werden sollenposition
- Die Positions-Nummer. 0 ist die erste Frage.anzahlFragen
- 1 ist die Positionsnummer der letzten Frage.
-
fügeZufälligEin
Füge zufällig eine Frage in die Fragenliste ein.- Parameters:
frage
- Die Frage, die eingefügt werden soll.
-
fügeFragenAlsFeldEin
public void fügeFragenAlsFeldEin(java.lang.String[][] fragen)Füge mehrere Fragen zufällig als zweidimensionales Feld ein.- Parameters:
fragen
- Mehrere Fragen als zweidimensionales Feld.
-
erzeugeFrage
public void erzeugeFrage(java.lang.String fragenText, java.lang.String richtigeAntwort, java.lang.String falscheAntwort1, java.lang.String falscheAntwort2, java.lang.String falscheAntwort3, java.lang.String schwierigkeit)Erzeuge eine neue Frage anhand von mehreren String-Argumenten und füge diese Frage zufällig ein.- Parameters:
fragenText
- Der Text der Frage (Der eigentliche Fragensatz).richtigeAntwort
- Die richtige Antwort.falscheAntwort1
- Die falsche Antwort Nr. 1.falscheAntwort2
- Die falsche Antwort Nr. 2.falscheAntwort3
- Die falsche Antwort Nr. 3.schwierigkeit
- Die Schwierigkeit (1-5).
-
gibAnzahlDatenKnoten
public int gibAnzahlDatenKnoten()Diese Methode berechnete die Anzahl der Datenknoten und damit die Anzahl der Frage rekursiv. Im Gegensatz zur MethodegibAnzahlFragen()
wird in dieser Methode keine Zähler verwendet, der hochgezählt werden muss.- Returns:
- Die Anzahl der Datenknoten.
-
gibAnzahlFragen
public int gibAnzahlFragen()Gib die Anzahl der Fragen zurück.- Returns:
- Die Anzahl der Fragen.
-
entnimmErsteFrage
Entnehme die erste Frage aus der Liste und setzte die zweite Frage an die Position der Ersten.- Returns:
- Die Frage an der ersten Position
-
entnimmFrage
Entnehme eine Frage aus der Liste mit der passenden Schwierigkeit. Falls keine Frage mit der passenden Schwierigkeit vorhanden ist, entnehme die erste Frage.- Parameters:
schwierigkeit
- Die geschwünschte Schwierigkeit der Frage.- Returns:
- Die Frage mit der gewünschen Schwierigkeit oder eine Frage an der ersten Position.
-