Instructions
25
Modul an, ob die geheime Zahl kleiner oder größer als der letzte Tipp ist.
Wenn die Zahl richtig getippt wurde, wird die Anzahl der Versuche angezeigt.
So funktioniert das Programm
In der oberen Zeile des LCD-Moduls werden die statischen Textelemente der
Spielanzeige dargestellt. Anstelle der drei Fragezeichen zeigt das Spiel später
den letzten Tipp. In der unteren Zeile wird angezeigt, ob die Lösungszahl grö-
ßer oder kleiner als dieser Tipp ist.
Der Block Zufallszahl von ... bis ... erzeugt zwar im interaktiven Modus auf
dem PC zufällige Werte, im Arduino-Modus wird aber der Zufallsgenerator
nicht richtig initialisiert, sodass bei jedem Programmstart immer wieder die
gleiche Folge von Zufallszahlen erzeugt wird. Deshalb verwenden wir hier ein
eigenes Verfahren zur Ermittlung einer Zufallszahl.
Zwei nicht beschaltete analoge Pins werden ausgelesen. Der Block ... mod ...
ermittelt den unteilbaren Rest bei einer Division, der noch unvorhersehbarer
ist als der Wert des analogen Eingangs selbst. Aus den beiden so ermittelten
Ziffern wird die geheime Zahl gebildet und in der Variable xgespeichert.
Der Tipp wird auf 50 voreingestellt, genau in der Mitte des möglichen Werte-
bereichs der Zufallszahl. Der Zähler n für die Anzahl von Versuchen startet mit
0. Die Variable ende wird auf 0 gesetzt. Wurde die Zahl richtig erraten, wird
sie auf 1 gesetzt, was die Endlosschleife beendet. Diese verwendet einen Block
vom Typ wiederhole bis …. Die Schleife wird so lange wiederholt, bis die Zahl
erraten wurde und damit das Spielende erreicht ist.
Solange nicht der untere Taster am PinD10 gedrückt wird, kann der Benutzer
über die anderen Taster die nächste getippte Zahl einstellen. Dazu werden
nacheinander ständig die Taster abgefragt und ausgewertet. Der Benutzer kann
so durch schnelles Drücken der Taster die gewünschte Zahl einstellen oder
einen Taster länger gedrückt halten und damit schnell vor- oder zurückzählen.
Wurde der Taster am PinD2 gedrückt, wird die getippte Zahl um 1 erhöht.
Sollte die Zahl dadurch größer als 100 werden, wird der aktuelle Tipp automa-
tisch auf 100 gesetzt.
In der unteren Zeile des LCD-Moduls zeigt ein Pfeilsymbol nach rechts, dass die Zahl erhöht
wurde.
In der oberen Zeile wird links die zuletzt gewählte Zahl mit drei Punkten überschrieben, damit
keine Ziffer übrig bleibt, falls die neu gewählte Zahl eine Stelle weniger hat. Die Fläche mit Leer-
zeichen zu überschreiben funktioniert nicht, da mBlock3 eine Zeichenfolge, die nur aus Leerzei-
chen besteht, im Arduino-Modus nicht korrekt auswertet. Danach wird die neue Zahl an dieser
Stelle angezeigt.
Nach einer Wartezeit von 0,1 Sekunden verschwindet das Pfeilsymbol in der unteren Zeile des
LCD-Moduls. Jetzt kann der nächste Tastendruck ausgewertet werden.
Der linke Taster am PinD3 verringert die Zahl um 1.
Ratespiel mit LCD-Modul und Tastern.
Der rechte Taster am PinD2 erhöht die Zahl um 1.










