Wir kombinieren den "Kinder" Mikrocontroller und Brettspiele

Sie gaben mir vor kurzem Micro: Bit. Was für den Unterricht von Schülern, von der BBC und mittlerweile immer beliebter wird (vor allem nachdem die Chinesen versprochen hatten, seinen Klon etwa doppelt so günstig zu machen). Ich selbst kenne Arduino, war einer der Pioniere in unserem Land, die gezeigt haben, wie man Arduino mit Scratch und diesem Schal kreuzt ... Zuerst war ich nicht interessiert. Aber wenig später war die Idee geboren: aber nicht mit Brettspielen zu kreuzen?

Ich selbst bin der Autor des „Desktops“, ihres Fans. Und das Vorhandensein einer relativ benutzerfreundlichen Programmierumgebung (anfangs ist das Board in Python und Java programmiert, aber es gibt eine Block-Umgebung mit einem Simulator) hat mich dazu veranlasst, diese Idee umzusetzen.

Ich muss Sie sofort warnen - ich bin kein Programmierer! Und das ist gut so, denn auch mein Grundschüler und jeder von euch kann meine Nachforschungen wiederholen. Machen Sie sich selbst zu einem „benutzerdefinierten“ Gerät, das das Leben mit Brettspielen erleichtert und erleichtert.



Der erste kam auf die Idee, gewöhnliche D6-Würfel (von 1 bis 6) zu implementieren. Gesagt, getan. In der Umgebung von makecode.microbit.org habe ich ein einfaches Programm entworfen, das beim Drücken der A-Taste eine Zufallszahl von 1 bis 6 generiert und auf der LED-Matrix des Geräts anzeigt.

Um den Code zu "dekorieren", habe ich ein paar Bilder der "Generation" des Würfels und der Voila hinzugefügt. Bereiten Sie einen einfachen elektronischen Würfel vor.



Und wenn Sie einen D12-Würfel brauchen? Wir erzeugen eine Zufallszahl bis 12. Und D20? Bis 20 natürlich. Das Problem ist jedoch, dass nur eine Ziffer auf dem "Bildschirm" platziert und zwei Ziffern gescrollt werden, jedoch nur einmal durch den Befehl, sie an die Matrix auszugeben. Was zu tun ist? Ich musste eine Variable zum Speichern des Ergebnisses hinzufügen, Zyklen anzeigen und den Wert des letzten Knochenwurfs durch Drücken von Knopf B wiederholen.



Das Ersetzen des Ereignisses des Drückens eines Knopfes durch eine Anzeige von "Schütteln" (Micro: Bit hat einen Beschleunigungsmesser) kann den Vorgang des "Werfens" realistischer machen.

Und wenn Sie zwei Würfel werfen müssen? Die Aufgabe ist interessanter geworden. Außerdem wollte ich Würfel machen, wie es mit Punkten sein sollte. Glücklicherweise besteht die Matrix (5 x 5) aus LEDs, die weit genug entfernt sind, und wenn Sie sie auch in der Nähe beleuchten, können Sie leicht unterscheiden, wo "Einheit" und wo "sechs".

Jetzt machte ich "Würfel" für Spiele wie Monopoly und Colonializers (wo 2 Würfel geworfen werden) oder Machi Koro (wo ein oder zwei Würfel W6 während des Spiels geworfen werden müssen). Das Problem bestand jedoch darin, diese Würfe anzuzeigen.

Wie ich oben geschrieben habe, ist die Matrix in Micro: Bit 5x5. Um einen regulären Hex-Würfel anzuzeigen, benötigen wir 3x3 LEDs.



Es können auch zwei Würfel nacheinander in der Mitte angezeigt werden, aber visuell ist es dann schlecht, sie zu lesen. Aus diesem Grund habe ich beschlossen, einen Würfel mit einem Versatz zur linken oberen Ecke und den zweiten zur rechten unteren Ecke in einer Endlosschleife anzuzeigen, bis eine andere Aktion ausgeführt wird.

Nachdem ich festgestellt habe, dass der while-Befehl nicht gut mit dem Lesen von Tastendruckereignissen und dem Schreiben eines Krückensystems aus Variablen und deren Überprüfung funktioniert, habe ich das gewünschte Ergebnis erzielt. Durch Drücken von Knopf A wurde ein Würfel erzeugt, bei B - zwei Würfeln, schaltete A + B den Bildschirm aus und brachte das System in den Ausgangszustand.

Ich entschied mich auch, den Zufallszahlengenerator mit der einfachen Formel Würfel = Rund (Zufall (von 50 bis 649) / 100) "abzulegen". "Cubes" fielen etwas realistischer aus.

Der endgültige "Monster-Code" stellte sich so heraus (der Code für die direkte Ausgabe der Grafiken der Würfel passte nicht, da er weit unten liegt).



Und das Ergebnis der Arbeit kann im Video angesehen werden:


Schon was interessantes. Darüber hinaus können aufgrund einer Verschiebung der Ecken bis zu 5 Würfel nacheinander angezeigt werden und sie können ohne weiteres nacheinander angezeigt werden.

Kann ich noch was machen In meinem neuen Brettspiel "Parobot Card League" werden die Würfel für zwei Dinge verwendet: Bestimmung des Bonus für Spieler in der aktuellen Runde und Bestimmung des Teams für Roboter-Bots auf dem Spielfeld. Daher wurde beschlossen, Folgendes umzusetzen:

  1. Rundenzähler (es gibt insgesamt 8)
  2. Bestimmung des Bonus in der aktuellen Runde (Button A)
  3. Bot-Befehlsdefinition (Schaltfläche B)
  4. Weiter zur nächsten Runde (wiederholtes Drücken von Knopf A)

Ich habe "benutzerdefinierte" Würfel implementiert und sofort das Symbol der herausgefallen Bonuskarte (oder N, falls nicht) und die Infografik der Bot-Teams auf dem Bildschirm angezeigt - den Bewegungspfeil (vorwärts, rückwärts, nach links und rechts drehen, schlagen und verteidigen).



Wie das Programm funktioniert, ist im Video zu sehen:


Da das Herunterladen auf Micro: Bit einfach ist (schließen Sie es einfach über Micro-USB an einen Computer an und übertragen Sie die Hex-Datei des Programms in das Stammverzeichnis der angezeigten Festplatte), habe ich auf meiner Website eine Seite erstellt, auf der ich vorgefertigte „Voreinstellungen“ für verschiedene Brettspiele platzieren möchte: www.simplerobot.org/elektronika

Dort finden Sie sowohl fertige Hex-Dateien als auch einen Link zu den Quellcodes. Gebrauch auf Gesundheit. Sie können ein Brett in der gleichen Amperka oder "von den Chinesen" bei Ali kaufen.

Was möchten Sie noch tun? Lösen Sie zuerst die Platine von der externen Stromversorgung, indem Sie die Abschirmung für die Batterien daran festschrauben.



Zweitens versuchen Sie, auf der Basis des „Automaten“ -Boards zu spielen, um alleine mit einem Computergegner zu spielen, und verwenden Sie den eingebauten Kompass und Beschleunigungsmesser.

Wenn Sie Ihr eigenes Programm für ein Brettspiel erstellen und mir zusenden, werde ich es gerne auf der Website veröffentlichen. Oder ich kann es auf Ihren Wunsch hin tun (nach bestem Wissen und Gewissen).

Source: https://habr.com/ru/post/de479794/


All Articles