Methoden
Modellierung der Methoden
Wir wollen nun die Methoden der Klasse Tier ergänzen.
-
Ein Tier kann sich
langweilen, dann verliert es Energie und Glück. Es kannspielen, dann verliert es Energie, aber gewinnt Glück. Wie viel es genau verliert oder gewinnt, kannst du selbst festlegen. -
Ein Tier kann man
fuetternund übergibt als Parameter die Menge an Futter in Form einer ganzen Zahl. Dabei erhöht sich die Energie des Tiers um die übergebene Menge, allerdings kann die Energie nicht über 10 steigen. Überschüssiges Futter wird also nicht mehr berücksichtigt. -
Schließlich kann man ein Tier über die Methoden
istGluecklich,istTraurigundistVerhungertbefragen, um herauszufinden, ob das Tier glücklich, traurig oder verhungert ist. Ein Tier ist glücklich, wenn sein Glückslevel mindestens 20 beträgt, es ist traurig, wenn sein Glückslevel kleiner oder gleich 0 ist, und es ist verhungert, wenn sein Energielevel kleiner oder gleich 0 ist.
Aufgabe 1
Überprüfe dein Klassendiagramm und passe es bei Bedarf an, um
die oben beschriebenen Methoden zu berücksichtigen.
Benutze exakt die oben genannten Methodennamen, damit die Implementierung
später zur schon existierenden
Spiel-Klasse passt.
Achte darauf, dass die Methoden die richtigen Parameter und Rückgabewerte haben.
Methoden der Klassen Stapel
Im vorherigen Abschnitt haben wir die Klasse Stapel verwendet.
Hier siehst du einen Teil einer möglichen Implementierung der Klasse:
class Stapel {
// Teile der Implementierung sind hier ausgelassen ...
fun zaehleKarten(): Int {
return karten.size // karten.size enthält eine ganze Zahl
}
fun erzeugeBlaetter(anzahlBlaetter: Int) {
// tu was getan werden muss, um die Karten zu erzeugen
}
fun mischen() {
// tu was getan werden muss, um die Karten zu mischen
}
fun zeigeObersteKarte() {
if (zaehleKarten() == 0) {
println("Stapel ist leer")
}
else {
// tu was getan werden muss, um die oberste Karte zu zeigen
}
}
}
Aufgabe 2
Analysiere den obigen Code und beschreibe wie
- Methoden ohne/mit Parameter und ohne/mit Rückgabewert implementiert werden
- Fallunterscheidungen in Kotlin implementiert werden
Aufgabe 3
Implementiere die Methoden der Klasse
Tier entsprechend
und teste sie mit einem Hauptprogramm.
Den Wert eines Attributs kannst du z.B. durch
energie = energie + 2
um 2 erhöhen.
Wenn du Zufall einbauen möchtest, kannst du z.B. mit
energie = energie + Random.nextInt(2, 5) eine
zufällige Zahl zwischen 2 und 4 addieren.
Dazu musst du oben in deiner Datei noch die Zeile
import kotlin.random.Random ergänzen.