zurück

"Ring-Pong"

23.10.2017

Vor Kurzem hatte ich mir einen Ring aus 16 RGB-LEDs des Typs WS2812 bestellt (auch Neopixel genannt) und wollte damit ein wenig herumexperimentieren. Mir kam eine Idee einer quasi 1-dimensionalen Adaption des Spiele-Klassikers "Pong".
So erfand ich kurzerhand ein paar neue Regeln, baute einen Prototypen auf und programmierte das Spiel in kurzer Zeit. Und da das Spiel auf einem Ring angezeigt wird, nannte ich es einfach "Ring-Pong". Später stellte ich fest, das jemand auf Youtube schon ein ähnliches Projekt mit demselben Namen umgesetzt hatte, aber meine Regeln weichen etwas von diesem Konzept ab.

Video: Live-Demonstration des Spiels (noch mit zwei Steckbrettern)

Funktionsweise des Spiels

Das Spielfeld ist ringförmig aufgebaut, d.h. das "Aus" (rot) des Spielfeldes befindet sich am unteren Ende des Ringes (auf 6-Uhr-Stellung). Das Netz (gelb) befindet sich am oberen Ende des Ringes (12-Uhr-Stellung). Die Spieler (blau) stehen zu Beginn jeweils links und rechts auf dem Ring.
Bei Spielbeginn hat einer der beiden Spieler Aufschlag (wird zufällig ermittelt) und der Ball (weiß) wird langsam auf die andere Seite über das Netz zum Gegner geschlagen. Diese muss versuchen den Ball rechtzeitig zu treffen, um ihn seinerseits zurückzuschlagen. Trifft der jeweilige Spieler den Ball genau 1 LED vor sich, so wird der Ball einfach zurückgeschlagen. Trifft er ihn, wenn er auf demselben Feld wie der Spieler selbst befindet, so muss der Spieler einen Schritt zurückgehen. Trifft er ihr zu früh - d.h. zwischen Gegner und sich selbst, so rückt der Spieler näher dem Netz zu. Verpasst der Spieler den Ball ganz, so geht dieser ins "Aus" und der Gegner gewinnt das Spiel.
Nach jedem erfolgreichen Schlag wird die Spielgeschwindigkeit ein wenig höher. Läuft ein Spieler ins Netz oder ins "Aus", so gewinnt der Gegner.
Viel Spaß beim Nachbauen und Spielen!

Aufbau

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Der Aufbau selbst ist relativ einfach: Es wird der LED-Ring richtig mit 5V und GND verkabelt und die DIN (data in)-Leitung bekommt noch einen Vorwiderstand. Der Kondensator ist als Sicherheit vor den LED-Ring geschaltet, um Stromspitzen abzufangen. Die beiden Mikrotaster werden mit je einem digitalen Eingang des Arduino verdrahtet und bekommt noch jeweils einen pulldown-Widerstand zur Entprellung.

Sketch-Code von Github laden

Verwendete Bauteile

Aufbau am Breadboard
Abb.: Aufbau am Breadboard

Weitere Ideen