Lernpfad:Hehomon/4: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
== Vereinheitlichung der Hehomon-Klasse ==
== Vereinheitlichung der Hehomon-Klasse ==


[[Bild:hehomon_klasse.jpg|right|Klassendiagramm des Hehomon.]]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''.]]


=== UMLet Vorlage ===
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}}
{{Collapse:Start}}
<pre>
<pre>
Zeile 45: Zeile 54:
+setParalysiert(pParalysiert: boolean): void
+setParalysiert(pParalysiert: boolean): void
+setVergiftet(pVergiftet: boolean): void
+setVergiftet(pVergiftet: boolean): void
+nimmSchaden(pSchaden: int)
+nimmSchaden(pSchaden: int): void
+heilen(pHeilung: int)
+heilen(pHeilung: int): void
+angriff1(pGegner: Hehomon): void
+angriff1(pGegner: Hehomon): void
+angriff2(pGegner: Hehomon): void
+angriff2(pGegner: Hehomon): void

Aktuelle Version vom 10. März 2020, 23:32 Uhr

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.

Icon Heft.png
Arbeitsauftrag

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.

Klassendiagramm des Hehomon.

Die Eigenschaften angr und vert sind die Angriffs- bzw. Verteidigungswerte des Hehomons. angr1, angr2, vert1 und vert2 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 angriff1, angriff2, verteidigung1 und verteidigung2 implementiert, jetzt bleiben sie erstmal leer.

lp sind die Lebenspunkte des Hehomons. Statt eines Setters werden sie über die Methoden nimmSchaden und heilen verändert, die darauf achten, dass die lp niemals kleiner als Null oder größer als hpMax werden.

Hinweise zur Implementierung findet Ihr im nächsten Schritt

UMLet-Vorlage

Damit Du nicht so viel tippen musst, kannst du die folgende Vorlage nach UMLet kopieren.

*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