Lösung Goldbarts Schatztal
Hilfestellung und Lösung zur sicheren Weg Aufgabe
Die Aufgabe wird in kleine, lösbare Schritte zerlegt. Zuerst leuchtet in jeder Spalte eine zufällige LED. Im zweiten Schritt leuchten nur nebeneinanderliegende LEDs. Damit ergibt sich ein Weg.
Hinweis 1: In jeder Spalte eine LED (Leuchtdiode) zufällig anzeigen
- Von Vorteil ist es hier zwei Variablen zu verwenden, eine Variable für die Spalte und eine für die Zeile. Diese Variablen nehmen Werte zwischen 0 und 4 an.
Wobei die Zeile 0 die oberste Zeile ist, die Zeile 1 die darunter liegende usw..
Die Spalte 0 ist die äußerst linke Spalte, die Spalte 1 die rechts daneben und immer so weiter bis Spalte 4.
Probiere die Überlegung mit folgendem Programm aus. Starte das Testprogramm mit der Taste A. Verändere die Werte für die Zeile und die Spalte im Programm. Die LED in der ausgewählten Zeile und Spalte wird leuchten.
- In jeder Spalte muss genau eine LED leuchten um einen Weg zu erstellen. Dafür eignet sich eine für-Schleife. Diese läuft von der linken bis zur rechten Spalte, also von der Spalte 0 bis zur Spalte 4. Platziere innerhalb der Schleife die zeichne x y Funktion, welche eine bestimmte LED einschaltet. Verwende als x-Wert die Variable Spalte, damit in jeder Spalte eine LED leuchtet. Alle LEDs leuchten bisher noch in der selben Zeile.
- Durch dieses Programm leuchtet die mit der Variable eingestellte Zeile. Am micro:bit passiert nichts, wenn die Werte größer als 4 oder kleiner als 0 sind. Für den Wert 3 zeigt der micro:bit zum Beispiel das Folgende an.
- Ein zufälliger Weg entsteht, wenn die LEDs in zufälligen Zeilen leuchten. Die Variable Zeile wir dafür auf eine zufällige Zahl zwischen 0 und 4 geändert.
Verwende dazu den Programmierblock wähle eine zufällige Zahl zwischen aus dem Bereich Mathematik. Ermittle in jeder Spalte eine neue zufällige Zahl für die Zeile. Ändere dazu die Variable Zeile bei jedem Durchlauf durch die Schleife.
- Die Taste A zeigt einen neuen Weg an. Lösche zu Beginn alle LEDs, damit nicht der alte und der neue Weg gleichzeitig angezeigt werden.
-
Die leuchtenden LEDs liegen noch nicht nebeneinander, sie ergeben keinen Weg.
-
Um einen Weg zu erhalten leuchtet die nächste LED nur schräg oben, geradeaus oder schräg unten von der vorigen LED. Der Wert der Variable Zeile Kann nur eins mehr, gleich oder eins weniger als in der letzten Spalte sein. Zu Beginn wird sie einmal zufällig zwischen 0 und 4 platziert.
-
Beim Testen leuchten die LEDs in manchen Spalten nicht.
Die LEDs leuchten nicht, wenn die Variable Zeile größer als 4 oder kleiner als 0 wird. Der constrain Befehl verhindert das. Dieser beschränkt die Zeile zwischen 0 und 4. Falls die Zahl größer ist, wird sie zu 4. Falls die Zahl kleiner ist, wird sie zu 0.
Hinweis 2: Nur nebeneinander liegende LEDs leuchten lassen
Mögliche Lösung