Spielfeld
Eine Klasse für das Spielfeld
Jedes BluePlay-Spiel braucht ein Spielfeld. Dafür benötigst du eine neue Klasse, z.B. mit dem Namen Spielfeld Der automatisch erzeugte Beispielcode wird nicht benötigt.
Bei Ausgebüxt zählt am Ende, wie viele Schritte du benötigt hast, um alle Tiere einzufangen. Unser Spielfeld soll deshalb die gespielten Schritte zählen können. Dafür braucht es
- ein Attribut
schritte, das bei0startet, und - eine Methode
act, die einen einzelnen Spielschritt ausführt: Sie erhöhtschritteum 1 und gibt den neuen Wert mitprintlnaus.
Im Klassendiagramm sieht die Klasse damit so aus:
Der Name act (englisch für handeln)
muss genau so lauten, da er später noch wichtig wird.
Für das Erhöhen des Attributs gibt es drei Vorschläge:
// Vorschlag 1
fun act() {
schritte = schritte + 1
println(schritte)
}
// Vorschlag 2
fun act() {
schritte++
println(schritte)
}
// Vorschlag 3
fun act() {
schritte + 1
println(schritte)
}
Den Ausdruck schritte++ kennst du noch nicht.
Vielleicht hast du schon eine Idee, was er bewirkt.
Ansonsten kannst du es durch Ausprobieren herausfinden.
Aufgabe 1
Spielfeld mit dem Attribut
schritte.
Überlege dann, welche der drei Vorschläge für act funktionieren
könnten und welche nicht.
Überprüfe deine Vermutung in BlueJ: Erzeuge ein Spielfeld-Objekt
und rufe act mehrfach per Rechtsklick auf.
Beobachte dabei die Ausgabe im Terminal und das Attribut im
Objektinspektor.
Entscheide dich für einen funktionierenden Vorschlag.
Aufgabe 2
Spielfeld-Objekt und rufe nur bei diesem
ein paar Mal act auf.
Sage voraus, welche Werte die beiden Objektinspektoren jetzt bei
schritte anzeigen.
Überprüfe deine Vorhersage und erkläre sie mit den Begriffen
Klasse, Objekt und
Attribut.