Aus Das deutschsprachige Scratch-Wiki



Schau' dir dieses Projekt auf der Scratch-Webseite an...


Zitterlabyrinth

Erforderliche Kompetenzen: Fühlen, Schleifen

Gewonnene Kompetenzen: Variablen (Zeit Stoppen), Bewegung (Mauszeiger verfolgen)

Beschreibung

Bei diesem Konzentrationsspiel soll mit der Maus eine Figur durch ein enges Labyrinth bewegt werden, dessen Wände nicht berührt werden dürfen. Zusätzlich soll die benötigte Zeit zum durchqueren des Labyrinths gemessen werden.

Durchführung

Phase 1: Planung

Während der Planungsphase soll mit den Schülern folgende Schritte vollzogen werden:

  • Erläuterung des Blocks “Gehe zu Mauszeiger”
  • Ideensammlung zu den Funktionen des Programms: Bewegung der Figur, Erkennung der Wandberührung
  • Überlegung anstellen, wie man den Mauszeiger von Startfähnchen zum Beginn des Labyrinths bekommen kann, ohne bereits die Wände zu berühren.

Phase 2: Vorbereitungen

Zunächst sollte der Hintergrund, also das Labyrinth mit farblich gekennzeichneten Start- und Endpunkt gezeichnet werden. Anschließend soll die Figur gezeichnet werden. Dabei ist darauf zu achten, dass das Kostüm sich zentriert im Bild befindet, damit sie sich nicht verschoben zum Mauszeiger bewegt.

Phase 3: Programmierung

  1. Bewegung der Figur: Die Bewegung der Figur kann mit einer simplen Wiederholungsschleife, die den Block “Gehe zu Mauszeiger” enthält, programmiert werden.

  2. Kontrolle der Wandberührung: Bewegung der Figur und Wandberührung können als parallele Skripte programmiert werden.

    Die Kontrolle der Wandberührung darf jedoch erst einsetzen, sobald die Figur den Startpunkt berührt hat. Möglich ist dies mit dem “Warte bis”-Block im Bereich Steuerung.

  3. Zeitmessung: Die Zeitmessung soll ebenfalls mit der Berührung des Startpunkts beginnen und mit dem Berühren des Endpunktes enden. Dazu wird eine Variable “Zeit” angelegt, die den Startwert Null besitzt und bis zur Berührung des Endpunkts die verstrichene Zeit zählt, indem jede 0.1 Sekunden die Variable um 0.1 erhöht wird.

Detaillierte Programmbeschreibung

Das Programm besteht aus einem Bühnenbild und einer Figur. Das Bühnenbild enthält das Labyrinth, durch das die Figur bewegt werden soll. Zudem sind der Start- und der Endpunkt des Labyrinths mit Farbpunkten versehen, damit die Zeitmessung installiert werden kann und damit die Figur vom „grünen Fähnchen`` zum Startpunkt bewegt werden kann, ohne mit den Wänden des Labyrinths zu kollidieren.

Zunächst muss die Bewegung der Figur programmiert werden. Da die Figur immer dem Cursor folgen soll, wird im Skript der Figur in einer Wiederholeschleife der Block "gehe zu Mauszeiger" ausgeführt.

Anschließend muss also von der Figur das Erreichen des Startpunktes (in der Musterlösung rot) registriert werden. Dazu wird der "warte bis wird Farbe rot berührt"-Block verwendet. Anschließend wird mit dem "warte bis wird Farbe schwarz berührt"-Block die Kollision mit der Labyrinthwand detektiert.

Die Zeitmessung wird parallel zur Wanddetektion im Skript der Figur implementiert, und zwar mit einer Variable namens Zeit, die bei Erreichen des Startpunktes auf Null gesetzt wird und anschließend in einer Schleife mit der Abbruchbedingung "wird Farbe blau berührt" hochgezählt (blau ist Farbe des Endpunktes).

Außerdem wird die Größe der Figur bei Programmbeginn auf 100 gesetzt, da sich bei Kollision mit der Wand die Figur aufbläht, um die Wandberührung zu verdeutlichen.

Phase 4: Testen und vorstellen

In der letzten Phase, die auch zweimal durchgeführt werden kann, müssen alle (bei großen Gruppen: ausgewählte) Schülerinnen und Schüler ihr Projekt vorstellen. Hier bietet es sich an, wenn eine dritte Person das Programm bedienen muss und nicht die Programmiererin oder der Programmierer. Der restliche Kurs schaut bei der Vorstellung zu und gibt hinterher eine Rückmeldung. Für jedes Projekt kann so analysiert werden, was gut und was weniger gut funktioniert und noch verbessert werden muss. Wichtig vor allem bei jüngeren Klassenstufen: Die guten Teile des Programmes besonders hervorheben!

Erweiterungen

  • Mehrere Levels: eine besonders schnelle Schülerin könnte ein oder zwei zusätzliche Hintergrundbilder (also Labyrinthe) zeichnen und das Spiel auf mehrere Levels skalieren: Man beginnt mit Level 1 und wenn man gewinnt, wechselt das Bühnenbild und man kommt zu Level 2 etc. Hier könnte man den Befehl "Wechsle zu Bühnenbild ()" verwenden.
  • ...


Quelle

Zitterlabyrinth auf IT4Kids