Bei der Umsetzung von Algorithmen hat man häufig den Fall, dass eine Anweisung nur bei Vorliegen einer bestimmten Bedingung erfolgen soll.
In der Programmierung gibt es dafür die so genannte bedingte Anweisung
.Snap! stellt zwei Blöcke zur Verfügung. Der erste führt nur dann Anweisungen aus, wenn eine bestimmte Bedingung vorliegt. Beim zweiten erweiterten Block kann man auch angeben, welche Anweisungen bei einem negativen Wahrheitswert bearbeitet werden sollen.
Bei unserem Mähroboter kann es zum Beispiel vorkommen, dass er auf ein Hindernis innerhalb der Rasenfläche trifft,
zum Beispiel eine Gartenliege oder ein Rasensprenger. Der Roboter muss in diesem Fall, darauf
reagieren und zum Beispiel ein Stück zurückfahren.
D. h. jedes Mal, wenn er sich etwas nach vorne bewegen sollte, prüft er zunächst mit seinen eingebauten
Sensoren, ob er ein Hindernis berührt.
Im nächsten Programmierfenster sollst du dieses Verhalten implementieren. Dazu findest du den Block
erzeuge Hindernisse, mit dem vier lilafarbene Hindernisse auf dem Rasen erzeugt werden, die du auch
mit der Maus verschieben kannst. Der Mähroboter kann mit dem Baustein
die Kollision mit einem Hindernis feststellen.
Die folgende Animation zeigt das gewünschte Verhalten: