Für einen Spieleabend habe ich dieses kleine Spiel gebaut. Auf dem neopixel Ring wird eine Farbe angezeigt, die angezeigt Farbe muss auf den dazugehörigen Tastern dann so schnell wir möglich gedrückt werden. Wer zuerst sechs Punkte hat, hat gewonnen.
Ablauf des Spiels
Eines der beiden äußeren Taster wird gedrückt. Daraufhin beginnen die neopixel im Kreis acht mal die Farbe zu wechseln, dann kurz aus, dann wird auf allen zwölf eine Farbe angezeigt. Nun müssen die beiden Spieler so schnell wie möglich die richtige Farbe auf ihrem Taster drücken. Wird der richtige Taster gedrückt, leuchtet ein neopixel auf, bei jedem weitern Punkt leuchtet eine Pixel mehr auf, bis 6 Pixel leuchten. Drückt ein Spieler die falsche Farbe bekommt der Gegner einen Punkt dazu.
Hier gibt es auch ein kurzesyoutube video.
Hardware des Spiels
Leider gibt es in Fritzing keine bunten buttons, deshalb hier nur schwarze. Die Hardware ist rel. einfach. Die Neo Pixel brauchen auf dem IN PIN eine art Vorwiderstand von 10 Ohm und einen Kondensator zwischen vcc und gnd von 1000uf. Für die Taster sind die internen "pullup" Widerstände aktiviert, deshalb weder die digitalen PINs einfach gegen gnd geschaltet. Das war eigentlich schon alles.
Das Programm für das Spiel
Das Programm ist in Ardublock in der "letsgoink" Version von Ardublock geschrieben. Damit das ganze übersichtlich bleibt geht das Programm etwas "in die Breite", wie auf dem Bild rechts oben zu sehen ist. Das eigentliche Programm ist nur der linke teil im Bild, der rest ist alles in Unterprogramme ausgegliedert. Im Prinzip frage ich die beiden Taster ab und dann startet ein Zufallsprogramm, die Variable Zufall, wird gespeichert und später die Taster abgefragt, ob sie mit der Variablen übereinstimmen.