Ein Beispiel für die Helden-Verarbeitung
aus AlricgWiki, der freien Wissensdatenbank
ARTIKEL VERALTET
Zum besseren Verständnis wird in diesem Beispiel ein kleines Szenario durchgespiel, wie es auch im Programm vorkommt
Szenarion
Ein Benutzter generiert einen Helden. Der Benutzer hat bereits einige Grunddaten des Helden gewählt, wie die Herkunft, einige Fertigkeiten und Talente. Unter anderem hat der Bentzer auch das Talent "Klettern" zum Helden hinzugefügt und den Nachteil "Stubenhocker".
In diesem Beispiel spielen wir den fall durch, das die maximale Stufe des Talents "Klettern" bestimmt werden soll. Dies ist der Fall wenn der Benutzer die Stufe des Talents ändern will, damit das Programm verhindert das eine höhere Stufe gewählt wird als maximal zuläassig ist.
Zuerst folgt ein Sequenzdiagramm mit dem Methodenaufruf, dann die "Schritt für Schritt" Erläuterung.
UML Sequenzdiagramm
Erläuterung
- HeldProzessor: Wie alle Aktionen beginnt auch diese Abfrage nach der maximalen Stufe beim HeldProzessor. Hier wird die Methode "getMaxWert" aufgerufen, als Parameter wird der Link zu dem Talent Klettern übergeben. Der Link ist in diesem Fall ein GeneratorLink (da der Held gerade Generiert wird), hat als Ziel das Talent "Kletter" und als Wert die momentane Stufe. Diese Methode des HeldProzessors ist lediglich abstrakt, so das der Methodenaufruf an die Implementierende Klasse weitergeleitet wird.
- GenerierungProzessor: Der GenerierungProzessor sucht nun zu dem CharElement die passende LinkElementBox, in diesem Fall eine "AbstractBoxGen" (da Generierung) und zwar die "TalentBoxGen" (da es sich um ein Talent handelt). Der GenerierungProzessor ruft nun erst die zuständige Methode des Objekts "TalentBoxGen" auf, danach die Methode es VoraussetzungenAdmin und dann den SonderregelAdmin. Dann wird der Wert schließlich zurückgeliefert.
- AbstractBoxGen: Da auch die Methode der Klasse AbstractBoxGen nur abstract ist, wird der Aufruf an die Implementierung weitergeleitet.
- TalentBoxGen: Hier wird die gewünschte Aktion ausgeführt, so wie es in den "standart-Regel" von DSA definiert ist. Dabei werden Ausnahmen und Spezialfälle nicht beachtet (dazu kommen wir später). D.h. es wird die größte der drei beteiligten Eigenschaften gesucht und 5 zu diesem Wert addiert: Das ist der maximale Wert des Talents (wie gesagt, nach den Standart Regeln). Dieser Wert wird zurückgeliefert.
- VoraussetzungenAmdin: Nun wird das bisherige Ergebniss im VoraussetzungenAmdin überprüft. Verstößt diese Stufe nun gegen eine Voraussetzung? Das ist hier nicht der Fall, somit wird der vorher errechnete Wert auch wieder zurückgegeben.
- SonderregelAdmin: Der SonderregelAdmin speichert alle aktiven Sonderregeln. Es werden nun von allen aktiven Sonderregeln die Methode "changeMaxWert" aufgerufen. D.h. jede aktive Sonderregel könnte diesen Wert nun ändern. In unserem Beispiel ist die Sonderregel zum Stubenhocker aktive, d.h. diese wird aufgerufen. Der Stubenhocker besagt das alle körperlichen Talente max. um zwei gesteigert werden dürfen. Klettern ist ein körperliches Talent, somit wird hier die maximale Stufe neu gesetzt und als Ergebnis zurückgeliefert.
Dieses ist das entgültige Ergebnis, was auch der Nutzer "zu sehen" bekommt.

