Inhaltsverzeichnis:

Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit! - Gunook
Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit! - Gunook

Video: Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit! - Gunook

Video: Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit! - Gunook
Video: Mediakids am 09. Dezember 2021: Alles in 3D Teil 1 2024, Juli
Anonim
Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit!
Was denkt das Bit? Machen Sie ein einfaches Ratespiel mit dem BBC Microbit!

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…

Bevor Sie beginnen…
Bevor Sie beginnen…
Bevor Sie beginnen…
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

Regeln des Ratespiels
Regeln des Ratespiels

Die Spielregeln lauten wie folgt:

  1. 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
  2. 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
  3. Um die Antwort an das BIT zu senden, drückt der Spieler einmal auf den rechten Druckknopf (B)!
  4. Wenn der Spieler richtig vermutet, erhält der Spieler einen Punkt, wenn nicht, erhält der BIT einen Punkt
  5. 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
  6. 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 Blocks-Programm: Variablen
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

Die Funktionen
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

Der Programmstart und die Shake Events & Event Handler
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":

  1. Der Ereignishandler "beim Start" wird jedes Mal ausgeführt, wenn das BIT gestartet wird - wie beim Trennen und Wiederanschließen der Stromversorgung zum BIT
  2. Bestimmte Dinge, die nur einmal beim Programmstart passieren dürfen, sind im "Beim Start" definiert und nirgendwo sonst im gesamten Programm
  3. 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
  4. 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
  5. 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
  6. Daher befindet sich der Ereignishandler "on shake" auf der Registerkarte Eingabeprogrammierung des Blockeditors

Schritt 6: Die Startnachricht und die Challenge-Funktionen

Die Startup-Meldungs- und Challenge-Funktionen
Die Startup-Meldungs- und Challenge-Funktionen
Die Startup-Meldungs- und Challenge-Funktionen
Die Startup-Meldungs- und Challenge-Funktionen
Die Startup-Meldungs- und Challenge-Funktionen
Die Startup-Meldungs- und 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:

  1. Initialisiert die playerGuess-Variable auf Null, bevor eine neue Eingabe vom menschlichen Spieler akzeptiert wird
  2. 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
  3. 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
  4. 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

Das Button-a-Click-Event - Antworten Sie auf die BITs-Herausforderung!
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:

  1. Rate mal, welche Zahl das BIT zwischen 0 und 6 denkt
  2. 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

Das Button-B-Klick-Event - Senden Sie eine Antwort auf die BITs-Herausforderung!
Das Button-B-Klick-Event - Senden Sie eine Antwort auf die BITs-Herausforderung!
Das Button-B-Klick-Event - Senden Sie eine Antwort auf die BITs-Herausforderung!
Das Button-B-Klick-Event - 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:

  1. Das CHECK-Flag wird auf True gesetzt - ein Signal für das BIT, um seine Schätzung mit der der Spieler zu vergleichen
  2. 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!
  3. Wenn die Vermutung der Spieler mit der der BITs übereinstimmt, wird die Funktion showWin() aufgerufen - der Spieler gewinnt diese Runde!
  4. Wenn nicht, wird die Funktion showLose() aufgerufen - das BIT gewinnt diese Runde!
  5. 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
  6. 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

Das Gewinnen/Verlieren und der Rest der Funktionen
Das Gewinnen/Verlieren und der Rest der Funktionen
Das Gewinnen/Verlieren und der Rest der Funktionen
Das Gewinnen/Verlieren und der Rest der Funktionen
Das Gewinnen/Verlieren und der Rest der Funktionen
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.

  1. 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
  2. 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
  3. 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 Simulator und Code
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: