Aufgabe: Implementierung der Administration von Voraussetzungen

aus AlricgWiki, der freien Wissensdatenbank

Inhaltsverzeichnis

Profil

Dringlichkeit: Hoch
Schwierigkeit: Mittel
Ziele: Korrekte implementierung der Voraussetzungen, also wann eine Voraussetzung erfülltist und wann nicht
Wird bearbeitet von: Keiner
Für Rückfragen: Vincent

Beschreibung

Alle Fertigkeiten, Talente, und jede Herkunft kann mit einer Voraussetzung gekoppelt sein. Nur wenn diese Voraussetzung erfüllt ist, kann das entsprechende CharElement zum Charakter hinzugefügt werden.

Beispiele für Voraussetzungen sind:

  • Der Vorteil "Ausdauernder Zauberer" ist nur von Vollzauberern oder Halbzauberern wählbar.
  • Um als Profession "Halle des Quecksilber" wählen zu können, muß der Char mindestens MU 11, KL 13, IN 11, CH 12, FF 11, SO 6 besitzen und darf KEINE Vorurteile haben.
  • Um das Talent "Magiekunde" auf über 10 zu Steigern, muß der Char das Talent "Lesen/ Schreiben" auf mindestens 6 haben.
  • Wer den Vorteil "Herausragende Balance" wählt, darf NICHT den Vorteil "Balance" besitzen

Lösungsansatz

Beschreibung des Konzepts

Es gibt eine Klasse, die sich um die Verwaltung der Voraussetzungen kümmert, ebend diese soll implementiert werden. Alle Vorausetzungen, die der Held beachten muß, werden per "add" zu dieser Klasse hinzugefügt, bzw. per "remove" wieder entfernd. Jedesmal wenn überprüft werden soll, ob ein CharElement hinzugefügt/ entfernd werden kann, wird die entsprechende Methode der Klasse aufgerufen. Ebendso wenn die Min/Max Stufen berechnet werden sollen.

Beispiele:

  • So ist die Max-Stufe des Talents "Magiekunde" 10, solage das Talent "Lesen/ Schreiben" nicht auf 6 steht.
  • Die Min-Stufe des Talents "Lesen/ Schreiben" ist 6, solange das Talent "Magiekunde" eine Stufe von 11 oder mehr hat


Bisherige Implementierung

Wichtig sind zwei Klassen:

 org.d3s.alricg.prozessor.VoraussetzungenAdmin
 org.d3s.alricg.charKomponenten.links.Voraussetzung
 

Die Klasse "org.d3s.alricg.prozessor.VoraussetzungenAdmin" ist die Verwaltungsklasse für die Voraussetzungen, jede Voraussetzung in in Form eines Objekts der Klasse "org.d3s.alricg.charKomponenten.links.Voraussetzung" repräsentiert. Alle in "VoraussetzungenAdmin" vorgegebenen Klassen sollen implementiert werden!

'Persönliche Werkzeuge