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

Spiel verbessern

Abstand zum Rand

Das abgeleitete Attribut imSicherenBereich liefert nur true oder false. Für eine Warnanzeige wäre dagegen interessant, wie weit eine Ente vom nächsten Rand entfernt ist. Die Funktion minOf liefert den kleinsten ihrer Parameter. Wie bei der bisherigen Randprüfung liegen die äußeren Begrenzungslinien bei 0, world.width und world.height:

val abstandZumRand: Int
    get() {
        return minOf(
            x,
            world.width - x,
            y,
            world.height - y
        )
    }

Aufgabe 1

Ergänze das abgeleitete Attribut abstandZumRand in der Klasse Ente. Ändere den Getter von imSicherenBereich so, dass er nur noch prüft, ob abstandZumRand größer als 40 ist. Teste das Spiel erneut.

Warnung durch einen Bildwechsel

Eine Ente kann nun durch einen Bildwechsel anzeigen, dass sie sich dem Rand nähert. Dafür verwenden wir eine rote Variante des Entenbildes:

Rote Ente als Warnung vor dem nahen Ufer

Das Bild dangerduck.png gehört nicht zu den Standardbildern von BluePlay. Es wird als eigenes Bild zum Projekt hinzugefügt.

Aufgabe 2

  1. Lade dangerduck.png herunter und füge die Datei in BlueK unter Bilder über Bild hinzufügen zum Projekt hinzu.
  2. Ergänze in der Methode act() der Klasse Ente einen Bildwechsel: Unterschreitet abstandZumRand einen selbst gewählten Wert, soll die Ente das Bild dangerduck.png erhalten. Hat die Ente wieder mindestens diesen Abstand zum Rand, soll sie das Bild duck.png erhalten.
  3. Wenn du möchtest, kannst du noch weitere Bilder für weitere Stufen ergänzen. Dazu könntest du beispielsweise die Grafik der Ente mit einer Bildverarbeitung oder KI in weiteren Varianten erstellen.
Hilfe: Bild wechseln

Mit image = Image("dangerduck.png") erhält die Ente das Warnbild. Mit image = Image("duck.png") erhält sie ihr ursprüngliches Bild zurück. Prüfe den Abstand nach der Bewegung.

Eigene Erweiterungen

Du kannst das Spiel auch selbst erweitern. Zum Beispiel könntest du die Anzahl der Enten und Krokodile verändern, die Geschwindigkeit anpassen oder den Schwierigkeitsgrad im Verlauf des Spiels erhöhen. Auch die Größe oder Farbe des sicheren Bereichs lässt sich verändern. Oder du entwickelst eine eigene Spielregel.

Aufgabe 3

Überlege dir eine eigene Erweiterung für das Spiel und setze sie um.

Suche

v
100.123.3.2.4 Spiel verbessern
Kopieren durch Anklicken

Rückmeldung geben