Lösung Goldbarts Schatztal: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
= Hilfestellung und Lösung zur sicheren Weg Aufgabe =
= Hilfestellung und Lösung zu Goldbarts Schatztal =
Die Aufgabe wird hier in kleine, lösbare Schritte unterteilt. Zuerst lernst du in jeder Spalte eine zufällige LED leuchten zu lassen. Im zweiten Schritt leuchten dann nur noch nebeneinanderliegende LEDs, damit sich ein Weg ergibt.
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 zufällige LED (Leuchtdiode) anzeigen ===
=== Hinweis 1: In jeder Spalte eine LED (Leuchtdiode) zufällig anzeigen ===
<ul>
<ul>


<li>Von Vorteil ist es hier 2 Variablen zu verwenden. Eine Variable für die Spalte und eine für die Zeile. Diese werden Werte zwischen 0 und 4 annehmen.  
<li>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.  
<br>
<br>
Wobei Zeile = 0 die oberste Zeile ist, Zeile = 1 die darunter liegende usw..
Wobei die Zeile 0 die oberste Zeile ist, die Zeile 1 die darunter liegende usw..
<br>
<br>
Spalte = 0 ist die äußerst linke Spalte, Spalte = 1 die rechts daneben und immer so weiter bis Spalte = 4
Die Spalte 0 ist die äußerst linke Spalte, die Spalte 1 die rechts daneben und immer so weiter bis Spalte 4.
<br>
<br>
Das kannst du mit folgendem Programm ganz leicht am Computer ausprobieren. 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.
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.
<br clear=all>
<br clear=all>
[[Datei:GbSt VariablenSpalteZeile.png|left]]
[[Datei:GbSt VariablenSpalteZeile.png|left]]
Zeile 16: Zeile 16:


<br clear=all>
<br clear=all>
<li> 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 Spalte = 0 bis 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 noch in der selben Zeile.
<li> 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.


<br clear=all>
<br clear=all>
Zeile 23: Zeile 23:


<br clear=all>
<br clear=all>
<li>Durch dieses Programm wird nun die Zeile, die du bei Zeile einstellst leuchten. Natürlich passiert am micro:bit nichts, wenn die Werte größer 4 oder kleiner 0 sind. Für den Wert 3 zeigt der micro:bit zum Beispiel das Folgende an:
<li>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.
<br clear=all>
<br clear=all>
[[Datei:GbSt mbTestA.png|left]]
[[Datei:GbSt mbTestA.png|left]]
Zeile 29: Zeile 29:


<br clear=all>
<br clear=all>
<li>Um einen zufälligen Weg zu erhalten, sollen die LEDs in zufälligen Zeilen leuchten. Dazu wird die Variable Zeile auf eine zufällige Zahl zwischen 0 und 4 geändert.
<li> Ein zufälliger Weg entsteht, wenn die LEDs in zufälligen Zeilen leuchten. Die Variable Zeile wird dafür auf eine zufällige Zahl zwischen 0 und 4 geändert.  


Jetzt musst du die leuchtenden LEDs zufällig über die Zeilen verteilen.
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.
Dazu verwende den Programmierblock aus dem Bereich Mathematik: wähle eine zufällige Zahl zwischen. Wie bereits beschrieben muss die Zahl natürlich zwischen 0 und 4 liegen, da jede dieser Ziffern für eine Zeile steht. Damit in jeder Spalte eine neue zufällige Zahl für die Zeile ermittelt wird, muss die Variable Zeile jedes Mal in der Spaltenschleife neu geändert werden. Das Ergebnis sieht dann so aus:
<br clear=all>
<br clear=all>
[[Datei:GbSt Zufall.png|left]]
[[Datei:GbSt Zufall.png|left]]
Zeile 38: Zeile 37:


<br clear=all>
<br clear=all>
<li>Drücke mehrmals den Knopf A, damit weitere LEDs auf dem Bildschirm erscheinen. Die alten werden nicht gelöscht. Das verhindern wir indem wir alle LEDs am Beginn des Programms löschen.
<li>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.
<br clear=all>
<br clear=all>
[[Datei:GbSt BildschirmLöschen.png|left]]
[[Datei:GbSt BildschirmLöschen.png|left]]
Zeile 49: Zeile 48:


<li>
<li>
Wenn du den Hinweis 1 fertig ausgearbeitet hast, wird dein Weg zwar zufällig erstellt, kann aber auch so aussehen:
Die leuchtenden LEDs liegen noch nicht nebeneinander, sie ergeben keinen Weg.
<br clear=all>
<br clear=all>
[[Datei:GbSt mbUnzusammenhaengenderPfad.png|left]]
[[Datei:GbSt mbUnzusammenhaengenderPfad.png|left]]
Zeile 56: Zeile 55:
<br clear=all>
<br clear=all>
<li>
<li>
Um den Weg zusammenhängend zu gestalten darf die nächste LED aber nur schräg oben, geradeaus oder schräg unten von der vorigen LED liegen. Um das zu erreichen sollte die Zeile Variable nicht zwischen 0 und 4 wechseln, sondern immer nur eins mehr, gleich oder eins weniger als in der letzten Spalte sein. Zu Beginn muss sie jedoch einmal zufällig zwischen 0 und 4 platziert werden. Dazu kombinieren wir den Baustein ”ändere Zeile um” und ”wähle eine zufällige Zahl zwischen” in der Spaltenschleife.  
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.  
<br clear=all>
<br clear=all>
[[Datei:GbSt Pfadzusammenhaengen.png|left]]
[[Datei:GbSt Pfadzusammenhaengen.png|left]]
Zeile 63: Zeile 62:
<br clear=all>
<br clear=all>
<li>
<li>
Nun hängt dein Weg zusammen, manchmal leuchten aber manche Spalten einfach nicht, so wie hier:
Beim Testen leuchten die LEDs in manchen Spalten nicht.
<br clear=all>
<br clear=all>
[[Datei:GbSt mbPfadausSchirm.png|left]]
[[Datei:GbSt mbPfadausSchirm.png|left]]
<br clear=all>
<br clear=all>
Das liegt daran, dass unsere Zeile Variable größer als 4 oder kleiner als 0 wurde. Um das zu verhindern müssen wir prüfen ob das der Fall ist und in diesem Fall unsere Variable wieder auf einen möglichen Wert ändern. Das können wir mit dem constrain Befehl. Dieser beschränkt die Zeile zwischen 0 und 4. falls die Zahl größer wäre, wird sie zu 4. Falls die Zahl kleiner wäre wird sie zu 0.
Die LEDs leuchten nicht, wenn die Variable Zeile größer als 4 oder kleiner als 0 wird. Der '''constrain''' Befehl verhindert das. (Der englische Begriff constrain bedeutet übersetzt einschränken.) Dieser Befehl 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.
<br clear=all>
<br clear=all>
[[Datei:GbSt Loesung.png|left]]
[[Datei:GbSt Loesung.png|left]]

Aktuelle Version vom 19. November 2019, 09:24 Uhr

Hilfestellung und Lösung zu Goldbarts Schatztal

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 wird 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.

  • Hinweis 2: Nur nebeneinander liegende LEDs leuchten lassen

  • 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. (Der englische Begriff constrain bedeutet übersetzt einschränken.) Dieser Befehl 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.


  • Mögliche Lösung