Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03230.jsonl.gz/2248

Wir wollen nun ein etwas komplexeres Beispiel anschauen. Sie finden das Programm unten auf dieser Seite. (durchfressen.sb2.zip)
Beschreibung
Die Katze (Scratch) soll den rechten Bildrand erreichen. Im Weg stehen die «cheesy-puffs», durch welche sich Scratch fressen muss. Scratch startet links, marschiert nach rechts zu den «cheesy-puffs», isst dort und marschiert zurück. Das wiederholt sich so lange bis kein Essen mehr da ist. Dann verschwinden die «cheesy-puffs» und Scratch kann den rechten Bildrand erreichen.
Vorbereitung
Folgende Vorbereitungen müssen getroffen werden
Nun können Skripte für die beiden Objekte erstellt werden:
Der Hauptakteur ist die Katze. Deshalb wird ihr Skript etwas umfangreicher:
In diesem Skript erkennt man sehr schön die hierarchische Strukturierung:
Auch das Essens-Objekt benötigt zwei Skripte.
Im ersten Skript wird die Variable «Essensvorrat» auf den Startwert gestellt. Dann wird sichergestellt, dass beim Programmstart das eventuell noch versteckte Essens-Objekt angezeigt wird.
Das zweite Skript wird ausgeführt wenn die Katze die Meldung «essen» schickt. Das Essens-Objekt muss auf diese Meldung reagieren indem es den Essensvorrat verkleinert und falls der Essensvorrat 0 erreicht sich selbst ausblendet, so dass die Katze freie Bahn zum rechten Rand hat.