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!
