Inhaltsverzeichnis:
- Schritt 1: Bevor Sie beginnen…
- Schritt 2: Regeln des Ratespiels
- Schritt 3: Das Blocks-Programm: Variablen
- Schritt 4: Die Funktionen
- Schritt 5: Der Programmstart und die Shake Events & Event Handler
- Schritt 6: Die Startnachricht und die Challenge-Funktionen
- Schritt 7: Das Button-a-Click-Event - Antworten Sie auf die BITs-Herausforderung
- Schritt 8: Das Button-B-Klick-Ereignis - Senden Sie eine Antwort auf die BITs-Herausforderung
- Schritt 9: Das Gewinnen/Verlieren und der Rest der Funktionen
- Schritt 10: Der Simulator und Code
Video: Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit! - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Ich habe mir ein paar BBC Microbits gekauft, nachdem ich in mehreren Online-Artikeln positive Kritiken darüber gelesen hatte.
Um mich mit dem BIT vertraut zu machen, habe ich ein paar Stunden mit dem Online-Microsoft Blocks Editor herumgespielt und ein einfaches Ratespiel entwickelt.
In diesem IBLE werden wir über die Spielregeln sprechen und durch die Funktionen navigieren, die in verschiedenen Codeblöcken im Blockeditor zusammengestellt sind.
Schließlich kann das aufgeregte Publikum zum Online-Simulator navigieren und diesem einfachen Spiel eine Chance geben.
Lass uns anfangen.
Schritt 1: Bevor Sie beginnen…
Die Hardware
Das BBC Microbit Board ist leicht zu erlernen. Für dieses IBLE müssen Sie nur wissen, dass es sich um eine winzige Platine mit 2 Drucktasten, einer Reihe winziger LEDs und einer Micro-USB-Buchse handelt, die als Stromversorgung und zum Laden eines Programms auf die Platine dient.
Die Anordnung winziger LEDs kann so programmiert werden, dass sie in verschiedenen Mustern aufleuchtet.
Notiz:
Sie benötigen die physische Platine für dieses IBLE nicht! Die BBC Microbit-Site verfügt über einen Online-Simulator, um den von Ihnen online entwickelten Code zu testen.
Die Software
Diese IBLE geht nicht auf die ersten Schritte mit dem BBC Microbit und/oder dem Online Blocks Editor ein.
Das Publikum wird ermutigt, diese BBC-Micorbit-Ressource zu erkunden, bevor es mit den nächsten Schritten fortfährt.
BBC Microbit wurde entwickelt, um Programmieren mit einem sehr benutzerfreundlichen Ansatz zu unterrichten. Daher ist die Vertrautheit mit einer anderen Programmiersprache von Vorteil, aber nicht erforderlich, insbesondere wenn Sie den Microsoft Blocks Editor verwenden, um Programmieren zu lernen.
Trotzdem habe ich noch kein Produkt gefunden, mit dem der Einstieg so einfach ist wie das BBC Microbit, da ich mehrere andere Mikrocontroller-Programmierplattformen besitze und mit ihnen spiele.
Schritt 2: Regeln des Ratespiels
Die Spielregeln lauten wie folgt:
- Beim Einschalten denkt sich der BIT eine Zahl aus und fordert den menschlichen Spieler auf, diese Zahl zu erraten, indem er eine Nachricht auf seinem LED-Panel druckt und auf eine Antwort wartet
- Der Spieler rät und drückt den linken Druckknopf (A) so oft wie die Antwort - Beispiel, wenn der Spieler 5 erraten hat, dann wird der Knopf 5 Mal gedrückt
- Um die Antwort an das BIT zu senden, drückt der Spieler einmal auf den rechten Druckknopf (B)!
- Wenn der Spieler richtig vermutet, erhält der Spieler einen Punkt, wenn nicht, erhält der BIT einen Punkt
- Wenn ein Spieler eine Zahl außerhalb des Bereichs erraten hat, erhält der andere Spieler einen Punkt - das BIT zeigt ein großes X auf seinem LED-Display an und fährt fort, eine neue Zahl zu erraten und die Herausforderung zu wiederholen; Beispiel: Wenn Sie vom BIT aufgefordert wurden, eine Zahl zwischen 1 und 5 zu erraten, und Sie 6 erraten haben, oder wenn Sie NULL erraten haben (indem Sie einfach Knopf B drücken, bevor Sie Knopf A drücken), dann wird diese Runde ungültig
- Die Herausforderungsantwort wird fortgesetzt, bis einer der Spieler die maximal zulässige Punktzahl erreicht hat
Ein neues Spiel starten:
Um jederzeit ein neues Spiel zu starten, schütteln Sie einfach das BIT! Oder trennen Sie einfach die Stromversorgung und schließen Sie sie wieder an.
Schritt 3: Das Blocks-Programm: Variablen
Das Programm verwendet einige Variablen, die so benannt sind, dass sie ihren unten aufgeführten Funktionen entsprechen. Diese Variablen können durch Klicken auf die Registerkarte Variablenprogrammierung im Blockeditor erstellt werden
BIT_SCORE - Verfolgt die vom BIT erzielten Punkte
bitGuessed - Diese Variable enthält den vom BIT geschätzten Zufallswert
CHECK - Wenn auf True gesetzt, prüft das BIT, ob die Schätzung des Spielers der Schätzung der BITs entspricht
GAME_RANGE - Diese Zahl begrenzt, wie hoch das BIT oder ein Spieler erraten kann
Beispiel: Wenn auf 6 gesetzt, können beide Spieler zwischen 1 und 6 raten
MSG - Eine Zeichenfolge, die geändert wird, um je nach Kontext des Spiels unterschiedliche Nachrichten anzuzeigen
PLAYER_SCORE - verfolgt die vom Spieler erzielten Punkte
playerGuess - Die vom Spieler erratene Zahl wird in dieser Variable aufgezeichnet
HINWEIS
Die allererste Variable namens item ist eine allgemeine und Standardvariable und kann ignoriert werden
Schritt 4: Die Funktionen
Als Teil des Lernprozesses und zur besseren Organisation wurde der Code in eine Reihe von Funktionen gegliedert, die im Hauptprogramm aufgerufen oder aufgerufen werden konnten. Genau wie Variablen können die Funktionen erstellt und aufgerufen werden, indem Sie auf die Registerkarte Erweitert > Funktionsprogrammierung klicken.
Nachfolgend eine kurze Beschreibung der Funktionen:
ankündigenWinner - Diese Funktion druckt die Gewinnnachricht, die an den Gewinner adressiert ist
doChallenge - Die Funktion, die das BIT aufruft, um eine Zahl zu erraten und den Spieler herauszufordern
showBadGuess - Zeigt eine Nachricht mit einem großen X auf dem LED-Panel an, wenn einer der Spieler außerhalb des zulässigen Bereichs geraten hat
showLose - wird aufgerufen, wenn der BIT eine Challenge-Runde über den Spieler gewinnt
showMessage - präsentiert eine Nachricht, die den Spieler auffordert, eine Zahl innerhalb eines festgelegten Bereichs zu erraten
showWin - wird aufgerufen, wenn der Spieler die Raterunde über den BIT gewinnt
Schritt 5: Der Programmstart und die Shake Events & Event Handler
"On Start" und "On Shake" sind Ereignishandler, die jeweils aufgerufen werden, wenn das "Start"-Ereignis und das "Shake"-Ereignis eintreten. Wie aus dem Blocks-Code hervorgeht, ist das, was passiert, wenn diese beiden Ereignishandler aufgerufen werden, fast dasselbe wie in:
- Die Funktion showMessage() wird aufgerufen, um die Nachricht anzuzeigen, wenn das Spiel beginnt
- Nach der Anzeige der Meldung gibt es eine kurze Pause von 650 Millisekunden
- Die Funktion doChallenge() wird aufgerufen, in der das BIT eine Zahl errät und darauf wartet, dass der menschliche Spieler eine Schätzung abgibt
Wir werden die beiden Funktionen im nächsten Schritt behandeln.
Es gibt jedoch grundlegende Unterschiede zwischen den Ereignishandlern "on start" und "on shake":
- Der Ereignishandler "beim Start" wird jedes Mal ausgeführt, wenn das BIT gestartet wird - wie beim Trennen und Wiederanschließen der Stromversorgung zum BIT
- Bestimmte Dinge, die nur einmal beim Programmstart passieren dürfen, sind im "Beim Start" definiert und nirgendwo sonst im gesamten Programm
- Eine solche Sache ist die Initialisierung der GAME_RANGE-Variable - in diesem Fall wird sie auf 6 initialisiert, was bedeutet, dass die Spieler eine Zahl zwischen 1 und 6 erraten können
- Da es sich bei "Beim Start" um eine grundlegende BIT-Funktion handelt, ist es kein Wunder, dass sie über die Registerkarte Grundprogrammierung des Blockeditors zugänglich ist
- Der "on shake" hingegen ist ein Event-Handler, der immer dann aufgerufen wird, wenn der Benutzer dem BIT eine Eingabe in Form eines schnellen Shakes macht
- Daher befindet sich der Ereignishandler "on shake" auf der Registerkarte Eingabeprogrammierung des Blockeditors
Schritt 6: Die Startnachricht und die Challenge-Funktionen
Die Funktion showMessage() Startup Message ist eine einfache Funktion, die die BITs-LED-Palette mit einem Clear-Screen-Befehl löscht und eine scrollende Nachricht anzeigt, die den Spieler auffordert, eine Zahl zu erraten.
Wie aus dem Funktionsblock showMessage hervorgeht, werden ein paar feste Zeichenfolgenteile an die Variable GAME_RANGE angehängt, um eine einfache Nachricht anzuzeigen, die besagt:
Ratet mal 0 - 6!
Die Funktion doChallenge() wird zu Beginn jeder Challenge-Runde aufgerufen und führt daher aus Sicht des Funktionsblocks doChallenge Folgendes aus:
- Initialisiert die playerGuess-Variable auf Null, bevor eine neue Eingabe vom menschlichen Spieler akzeptiert wird
- Initialisiert die CHECK-Variable auf false - was bedeutet, dass die Runde gleich beginnt und es noch nicht an der Zeit ist, die von beiden Spielern erratenen Zahlen zu vergleichen
- Als nächstes, und am wichtigsten, wählt das BIT eine Zufallszahl innerhalb des durch GAME_RANGE definierten Bereichs und zeichnet sie in der bitGuessed-Variablen auf
- Schließlich wird die LED-Palette mit einem Fragezeichen-Symbol beleuchtet, das den menschlichen Spieler zu einer Eingabe als Reaktion auf die BITs-Herausforderung auffordert!
Notiz
Wenn der Wert der Variablen GAME_RANGE wie im vorherigen Schritt beschrieben geändert wird, sieht Ihr Spiel möglicherweise etwas anders aus und verhält sich anders.
Die Join-Funktion ist eine String-Funktion und kann über die Registerkarte Textprogrammierung des Blockeditors aufgerufen werden
Schritt 7: Das Button-a-Click-Event - Antworten Sie auf die BITs-Herausforderung
Sobald das große Fragezeichen auf dem BITs-LED-Bildschirm erscheint, besteht die Reaktion auf die Herausforderung für den menschlichen Spieler darin, einfach Folgendes zu tun:
- Rate mal, welche Zahl das BIT zwischen 0 und 6 denkt
- Drücke Knopf A so oft wie deine Antwort ist - Beispiel, wenn deine Antwort 3 ist, dann drücke Knopf A 3x
Offensichtlich ist das Drücken der Schaltfläche eine Benutzereingabe und daher ist der Ereignishandler "On Button" über die Registerkarte Eingabeprogrammierung des Blockeditors zugänglich. Jedes Mal, wenn der Benutzer Schaltfläche A drückt, führt dieser Ereignishandler Folgendes aus:
- Erhöhen Sie den Wert der playerGuess-Variable um 1, solange er innerhalb des GAME_RANGE-Limits liegt (in diesem Fall 6).
- Wenn der Spieler 7 oder höher einreicht, wird die Schätzung ungültig und die Spielerschätzung wird auf Null zurückgesetzt, wodurch die Schätzung des Spielers im Wesentlichen ungültig wird
Die nächste Aktion besteht darin, die Antwort auf die Herausforderung einzureichen, die wir im nächsten Schritt durchgehen werden.
Schritt 8: Das Button-B-Klick-Ereignis - Senden Sie eine Antwort auf die BITs-Herausforderung
Der menschliche Spieler übermittelt die Antwort an das BIT, indem er einmal Knopf B drückt. Eine Reihe von Schritten passieren im Ereignishandler von Button B "bei Klick", sobald das BIT die Antwort des Spielers erhält, wie durch die Codemarkierungen im Bild angezeigt:
- Das CHECK-Flag wird auf True gesetzt - ein Signal für das BIT, um seine Schätzung mit der der Spieler zu vergleichen
- Die Wertung wird nur fortgesetzt, wenn beide Spieler Zahlen größer als Null und innerhalb des GAME_RANGE-Limits (von 6) erraten haben und wenn nicht, wird die Funktion showBadGuess() aufgerufen - der Spieler mit dem guten Rat gewinnt einen Punkt und der Spieler mit dem schlechten Rat verliert einen!
- Wenn die Vermutung der Spieler mit der der BITs übereinstimmt, wird die Funktion showWin() aufgerufen - der Spieler gewinnt diese Runde!
- Wenn nicht, wird die Funktion showLose() aufgerufen - das BIT gewinnt diese Runde!
- Am Ende jeder Runde wird durch die Funktion kündigenWinner() überprüft, ob einer der beiden Spieler mit 3 Punkten gewonnen hat - wenn ja, wird das Spiel beendet und der endgültige Gewinner bekannt gegeben und alle Ergebnisse und Nachrichten sind zurücksetzen
- Das BIT startet das Spiel neu, indem es eine Herausforderung durch Aufrufen der Funktion doChallenge() ausgibt und wartet auf die Antwort des Spielers und der Vorgang wird wiederholt
Die neuen Funktionen besprechen wir in den nächsten Schritten.
Warte ab! Wie erraten Sie NULL?
- Wenn Sie sich die mathematische Funktion random() ansehen, können Sie sehen, dass ihr Anfangswert auf Null gesetzt ist und nicht geändert werden kann.
- Dem BIT steht es daher frei, eine Null zu erraten und den Spieler aufgrund dieser Einschränkung herauszufordern
- In ähnlicher Weise kann der menschliche Spieler eine Null-Rate abgeben, indem er einfach auf Button B klickt, ohne zuerst auf Button A zu klicken!
- Wenn dies erlaubt ist, muss sich der menschliche Spieler beim Spielen nicht anstrengen und das macht keinen Sinn!
- Daher wurde diese Einschränkung durch Bullet #2 ausgeglichen. oben diskutiert
Schritt 9: Das Gewinnen/Verlieren und der Rest der Funktionen
Alle diese Funktionen werden von der Ereignisbehandlungsroutine für Button B "bei Klick" aufgerufen, wie im vorherigen Schritt gezeigt.
Diese Funktionen sind ziemlich einfach und zu diesem Zeitpunkt sollten Sie sich mit der intuitiven und erzählerischen Natur des Codes vertraut gemacht haben, der durch eine Kombination von treffend benannten Variablen und den visuellen Attributen des Blockeditors erstellt wird.
- Die Funktion showWin() zeigt eine Nachricht an, die angibt, dass der Spieler diese Herausforderungsrunde gewonnen hat und erhöht die PLAYER_SCORE-Variable um 1
- In ähnlicher Weise zeigt die Funktion showLose() an, dass der Spieler eine falsche Schätzung vorgenommen hat und vergibt einen Punkt an das BIT, indem die Variable BIT_SCORE um 1 erhöht wird
- Die Funktion showBadGuess() zeigt ein großes X auf dem Bildschirm an, was darauf hinweist, dass einer der Spieler falsch geraten hat (entweder 0 oder größer als 6) - der schlechte Spieler verliert in diesem Fall einen Punkt und der andere erhält einen Punkt!
Und schließlich übernimmt die Funktion kündigenWinner() die Aufgabe, nach 3 Runden Herausforderung/Antwort, gefolgt von:
- Zurücksetzen der Score-Variablen PLAYER_SCORE und BIT_SCORE
- Kurzes Pausieren und Starten eines neuen Spiels durch Aufrufen der showMessage()-Startfunktion, die im vorherigen Schritt (6) dieser IBLE beschrieben wurde
Endlich zum Simulator und zum Code!
Schritt 10: Der Simulator und Code
Der Code läuft im Online-Simulator hier
- Der Simulator befindet sich unten links auf der Seite
- Alternativ kann der Download-Button verwendet werden, um den Code herunterzuladen, falls Sie ein BBC Microbit zur Hand haben
- Wie am Anfang des IBLE erwähnt, brauchst du kein BBC Microbit, um den Code im Blocks Editor zu bauen oder deinen Code zu simulieren und zu testen, obwohl das für neugierige Personen wie mich nicht funktioniert!
Ein Hinweis zum Bearbeiten-Button
- Wenn Sie dies beobachtet haben, ist der Code gemeinfrei und es gibt eine Möglichkeit, ihn zu bearbeiten, indem Sie die Schaltfläche Bearbeiten oben rechts verwenden
- Ich möchte Sie jedoch aufrichtig bitten, eine Kopie dieses Codes anzufertigen und ihn an Ihre Bedürfnisse anzupassen, damit die Originalversion im Interesse dieser IBLE erhalten bleibt
Vielen Dank! Und viel Spaß beim Codieren!!!:-)
Empfohlen:
Machen Sie ein einfaches Bewegungssensor-Licht! (PIR): 13 Schritte (mit Bildern)
Machen Sie ein einfaches Bewegungssensor-Licht! (PIR): Machen Sie eine kleine & Einfaches Bewegungssensorlicht mit weniger Aufwand und weniger Komponenten. Ein Anfänger könnte dies auch machen. Ein einfaches Verständnis der Funktionsweise von Transistoren und Kenntnisse über Anode und Kathode sind nur erforderlich, um es spannungsfrei zu machen
Machen Sie ein riesiges LED-Schild! (24x8-Matrix): 11 Schritte (mit Bildern)
Machen Sie ein riesiges LED-Schild! (24x8-Matrix): AKTUALISIEREN!! Schaltplan ist ONLINE! AKTUALISIERUNG 2!! Code ist ONLINE! Dieses Projekt beschreibt meinen ziemlich schnellen Aufbau einer 24x8-Matrix. Meine Inspiration für dieses Projekt kam von der 24x6-Matrix von Syst3mX. Eine 24x6-Matrix war riesig, aber mir war sie einfach zu klein, da keine
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
So überprüfen Sie, ob ein Spiel auf Ihrem Computer ausgeführt wird, bevor Sie das Spiel kaufen.: 4 Schritte
So prüfen Sie, ob ein Spiel auf Ihrem Computer läuft, bevor Sie das Spiel kaufen Nun, sein Computer ist ziemlich neu, und es war mir ein Rätsel, warum er nicht lief. Nach ein paar Stunden Recherche im Internet bin ich auf
So richten Sie den ultimativen Media Player mit dem Mac Mini ein: 4 Schritte
So richten Sie den ultimativen Mediaplayer mit dem Mac Mini ein: Ihr Computer ist zehnmal intelligenter als Ihr DVD-Player und fünfmal intelligenter als Ihre Stereoanlage, sollte er nicht in der Lage sein, eine bessere Arbeit als beide zu leisten, ohne auch nur einen Finger zu rühren?Ja es sollte, und ja, es wird. Dieses instructable zeigt Ihnen, wie man cr