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()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • fügeVorneEin

      public void fügeVorneEin​(Frage frage)
      Füge eine Frage vorne in die Liste ein.
      Parameters:
      frage - Die Frage, die eingefügt werden soll.
    • gibKopf

      public ListenElement gibKopf()
    • fügeHintenEin

      public void fügeHintenEin​(Frage frage)
      Füge eine Frage hinten in die Liste ein.
      Parameters:
      frage - Die Frage, die eingefügt werden soll.
    • fügeVorPositionEin

      public void fügeVorPositionEin​(Frage frage, int position)
      Füge ein Frage vor einer Positions-Nummer ein.
      Parameters:
      frage - Die Frage, die einfügt werden sollen
      position - Die Positions-Nummer. 0 ist die erste Frage. anzahlFragen - 1 ist die Positionsnummer der letzten Frage.
    • fügeZufälligEin

      public void fügeZufälligEin​(Frage frage)
      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 Methode gibAnzahlFragen() 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

      public Frage 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

      public Frage entnimmFrage​(int schwierigkeit)
      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.