Lernpfad:Hehomon/4: Unterschied zwischen den Versionen

2.209 Bytes hinzugefügt ,  23:32, 10. Mär. 2020
Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung
 
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{NNavigation}}
{{NNavigation}}


== Vereinheitlichung der Hehomoh-Klasse ==
== Vereinheitlichung der Hehomon-Klasse ==


Bisher hat jeder seine eigene Hehomon-Klasse entworfen. Damit wir die einzelnen Hehomon später untereinander tauschen können, müssen wir für die Klassen eine Vereinbarung treffen, welche Elemente mindestens vorhanden sein müssen.  
Bisher hat jeder seine eigene Hehomon-Klasse entworfen. Damit wir die einzelnen ''Hehomon'' später untereinander tauschen können, müssen wir für die Klassen eine Vereinbarung treffen, welche Elemente mindestens vorhanden sein müssen.  


Bringe deinen Klassenentwurf mit der gezeigten Klasse zusammen, indem du fehlende Objektvariablen und Methoden ergänzt bzw. vorhandene umbenennst. Die gezeigten Elemente müssen aber bei deiner Klasse auf jeden Fall vorhanden sein.
{{Aufgabe:Start}}
Bringe deinen Klassenentwurf mit der gezeigten Klasse zusammen, indem du fehlende Objektvariablen und Methoden ergänzt bzw. vorhandene umbenennst. Die gezeigten Elemente '''müssen bei deinem Klassenentwurf auf jeden Fall vorhanden sein''', damit die Hehomons später getauscht werden können.
{{Aufgabe:End}}
[[Bild:hehomon_klasse.jpg|center|frame|Klassendiagramm des ''Hehomon''.]]
 
Die Eigenschaften <code>angr</code> und <code>vert</code> sind die Angriffs- bzw. Verteidigungswerte des ''Hehomons''. <code>angr1</code>, <code>angr2</code>, <code>vert1</code> und <code>vert2</code> sind die Namen der Angriffe bzw. Verteidigungen des ''Hehomons'', die später auf dem Bildschirm angezeigt werden. Die Angriffe und Verteidigungen werden später für jedes ''Hehomon'' in den Methoden <code>angriff1</code>, <code>angriff2</code>, <code>verteidigung1</code> und <code>verteidigung2</code> implementiert, jetzt bleiben sie erstmal leer.
 
<code>lp</code> sind die Lebenspunkte des ''Hehomons''. Statt eines Setters werden sie über die Methoden <code>nimmSchaden</code> und <code>heilen</code> verändert, die darauf achten, dass die <code>lp</code> niemals kleiner als Null oder größer als <code>hpMax</code> werden.
{{Kasten|Hinweise zur Implementierung findet Ihr {{Pfad|5|im nächsten Schritt}}|Farbe={{Farbe:Info}}}}
 
=== UMLet-Vorlage ===
Damit Du nicht so viel tippen musst, kannst du die folgende Vorlage nach UMLet kopieren.
{{Collapse:Start}}
<pre>
*Hehomon*
--
-name: String
-typ: String
-lp: int
-lpMax: int
-angr: int
-vert: int
-paralysiert: boolean
-vergiftet: boolean
-angr1: String
-angr2: String
-vert1: String
-vert2: String
--
+Hehomon(pName: String, pTyp: String, pLp: int,
    pAngr: int, pVert: int,
    pAngr1: String, pAngr2: String,
    pVert1: String, pVert2: String )
+getName(): String
+getTyp(): String
+getLp(): int
+getLpMax(): int
+getAngr(): int
+getVert(): int
+isParalysiert(): boolean
+isVergiftet(): boolean
+getNameAngr1(): String
+getNameAngr2(): String
+getNameVert1(): String
+getNameVert2(): String
+setAngr(pAngr: int): void
+setVert(pVert: int): void
+setParalysiert(pParalysiert: boolean): void
+setVergiftet(pVergiftet: boolean): void
+nimmSchaden(pSchaden: int): void
+heilen(pHeilung: int): void
+angriff1(pGegner: Hehomon): void
+angriff2(pGegner: Hehomon): void
+verteidigung1(pGegner: Hehomon): void
+verteidigung2(pGegner: Hehomon): void
</pre>
{{Collapse:End}}
8.581

Bearbeitungen