s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

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 bei 0 startet, und
  • eine Methode act, die einen einzelnen Spielschritt ausführt: Sie erhöht schritte um 1 und gibt den neuen Wert mit println aus.

Im Klassendiagramm sieht die Klasse damit so aus:

Klassendiagramm der Klasse Spielfeld

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

Implementiere die Klasse 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

Erzeuge ein zweites 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.

Suche

v
100.123.2.2.2 Spielfeld
Kopieren durch Anklicken

Rückmeldung geben