Gedächtnistrainer Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Hilfestellung und Lösung zur Gedächtnistrainer Aufgabe == === Wie kannst du mit dem micro:bit eine zufällige Zeichenfolge anzeigen? === ==== Hinweis1: Du…“)
 
Zeile 38: Zeile 38:
 
Um die Zeichen zu vergleichen wirst du 2 weitere Variablen brauchen. Eine Zählervariable, die bestimmt wie viele Zeichen du bereits eingegeben hast und eine Punktevariable, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Werte starten bei 0 solange wir noch keine Zeichen verglichen haben.  
 
Um die Zeichen zu vergleichen wirst du 2 weitere Variablen brauchen. Eine Zählervariable, die bestimmt wie viele Zeichen du bereits eingegeben hast und eine Punktevariable, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Werte starten bei 0 solange wir noch keine Zeichen verglichen haben.  
 
<br clear=all>
 
<br clear=all>
 
+
[[Datei: Gt_ZaehlerPunkte.png|left]]
 
<br clear=all>
 
<br clear=all>
 +
Ab jetzt muss dein Programm solange weiterlaufen und auf eine Eingabe des Benutzers warten, bis dieser alle 7 Zeichen eingegeben hat. Dazu machst du eine Schleife, die überprüft ob die Zählervariable noch unter 7 ist. Solange läuft diese Schleife, wenn die Zählervariable 7 übersteigt wird die Schleife abgebrochen und der Gedächtnistest ist beendet.
 +
<br clear=all>
 +
[[Datei: Gt_WährendZaehler.png|left]]
 +
<br clear=all>
 +
In dieser Schleife fragst du jetzt immer ob die Taste A gedrückt ist.
 +
<br clear=all>
 +
[[Datei: Gt_WennAgedrückt2.png|left]]
 +
<br clear=all>
 +
Darin vergleichst du den Buchstaben an der Stelle der Zaehler Variable mit dem Buchstaben A. Wenn dieser ein A ist, so sollen die Punkte um 1 erhöht werden.
 +
In jedem Fall soll, wenn der Knopf A gedrückt wurde die Zaehler Variable um 1 erhöht werden.
 +
<br clear=all>
 +
[[Datei: Gt_BuchstabenVergleich.png|left|300px]]
 +
<br clear=all>
 +
Um dem Benutzer ein Feedback über seine gedrückte Taste zu geben, soll er sie auch angezeigt bekommen. Hier die Taste A. Wenn der micro:bit fertig ist mit dem Berechnen und bereit für eine neue Eingabe, soll er wieder nichts anzeigen.
 +
<br clear=all>
 +
[[Datei: Gt_BildschirmLoeschen.png|left]]
 +
<br clear=all>
 +
Den ganzen Block für die taste A kann man genauso für die Taste B programmieren.
 +
<br clear=all>
 +
[[Datei: Gt_ButtonB.png|left]]
 +
<br clear=all>
 +
Wenn der Benutzer nun alle 7 Zeichen eingegeben hat, geht das Programm aus der “während Zähler < 7 Schleife”. Dann soll der micro:bit noch die erreichten Punkte anzeigen.
 +
<br clear=all>
 +
[[Datei: Gt_PunkteZeigen.png|left]]
 +
<br clear=all>
 +
Die gesamte Lösung sieht dann so aus:
 +
<br clear=all>
 +
[[Datei: Gt_Loesung1.png|left]]
 +
[[Datei: Gt_Loesung2.png|left]]
 +
<br clear=all>
 +
[https://makecode.microbit.org/_K3AWJwDMWWs5 Hier kommst du zum fertigen Programm auf makecode.org]

Version vom 24. September 2019, 13:26 Uhr

Hilfestellung und Lösung zur Gedächtnistrainer Aufgabe

Wie kannst du mit dem micro:bit eine zufällige Zeichenfolge anzeigen?

Hinweis1: Du musst jedes Zeichen einzeln zufällig erstelen

Zuerst muss das Programm durch die Taste A gestartet werden. Das schaffst du einfach mit folgender Anweisung.

Gt Start.png


Dann sollst du die Textvariable leer machen. In diese wirst du dann deine Zeichenfolge speichern.

Gt TextÄndern.png


Um ein zufälliges Zeichen einzufügen kannst du einen wenn-ansonsten-Baustein verwenden der mit einem zufälligen Wahr und Falschwert agiert.

Gt Wenn.png


Bei wahr soll ein A zur Zeichenfolge hinzugefügt werden. Bei falsch ein B.

Gt ABhinzufügen.png


Damit der Benutzer die Zeichen auch sieht müssen sie noch angezeigt werden. Dazu verwende den Befehl Zeichenfolge anzeigen und zeige die Variable Text am Ende damit an. Das ganze Programm sieht jetzt so aus:

Gt WennAgedrückt.png


Das kannst du jetzt testen und es sollte dir ein zufälliges Zeichen A oder B zurückgeben. Um jetzt 7 Zeichen zu bekommen musst du eine Schleife rund um die Wenn-Ansonsten-Anweisung legen, die sich 7x wiederholt.

Gt WennAnsonstenAnweisung.png


Teste das gleich mal.

Gt Test1.png


Dann füge den Countdown hinzu, nachdem das Spiel beginnt.

Gt Contdown.png


Wie kannst du mit dem micro:bit die eingegebenen Zeichen mit der Zeichenfolge vergleichen?

Um die Zeichen zu vergleichen wirst du 2 weitere Variablen brauchen. Eine Zählervariable, die bestimmt wie viele Zeichen du bereits eingegeben hast und eine Punktevariable, die bestimmt wie viele Zeichen du bereits richtig eingegeben hast. Beide Werte starten bei 0 solange wir noch keine Zeichen verglichen haben.

Gt ZaehlerPunkte.png


Ab jetzt muss dein Programm solange weiterlaufen und auf eine Eingabe des Benutzers warten, bis dieser alle 7 Zeichen eingegeben hat. Dazu machst du eine Schleife, die überprüft ob die Zählervariable noch unter 7 ist. Solange läuft diese Schleife, wenn die Zählervariable 7 übersteigt wird die Schleife abgebrochen und der Gedächtnistest ist beendet.

Gt WährendZaehler.png


In dieser Schleife fragst du jetzt immer ob die Taste A gedrückt ist.

Gt WennAgedrückt2.png


Darin vergleichst du den Buchstaben an der Stelle der Zaehler Variable mit dem Buchstaben A. Wenn dieser ein A ist, so sollen die Punkte um 1 erhöht werden. In jedem Fall soll, wenn der Knopf A gedrückt wurde die Zaehler Variable um 1 erhöht werden.

Gt BuchstabenVergleich.png


Um dem Benutzer ein Feedback über seine gedrückte Taste zu geben, soll er sie auch angezeigt bekommen. Hier die Taste A. Wenn der micro:bit fertig ist mit dem Berechnen und bereit für eine neue Eingabe, soll er wieder nichts anzeigen.

Gt BildschirmLoeschen.png


Den ganzen Block für die taste A kann man genauso für die Taste B programmieren.

Gt ButtonB.png


Wenn der Benutzer nun alle 7 Zeichen eingegeben hat, geht das Programm aus der “während Zähler < 7 Schleife”. Dann soll der micro:bit noch die erreichten Punkte anzeigen.

Gt PunkteZeigen.png


Die gesamte Lösung sieht dann so aus:

Gt Loesung1.png
Gt Loesung2.png


Hier kommst du zum fertigen Programm auf makecode.org