Aus Ping Pong wird King Kong: Kniffel-König

von Michael Gaus

Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller



Das Würfelspiel Kniffel wird fast jedem bekannt sein. Dieses Spiel wurde hier elektronisch zur Verwendung auf der Ping-Pong-Platine umgesetzt. Wie kommt es zum Namen King Kong? Ganz einfach: auf der Platine des Ping Pong, abgekürzt PP, kann der Kniffel-König, abgekürzt KK, ausgespielt werden, somit wird das Ping Pong umfunktioniert zu King Kong.

Spielregeln

Auszug aus Wikipedia unter http://de.wikipedia.org/wiki/Kniffel
Kniffel ist ein Würfelspiel, das mit fünf Würfeln gespielt wird.
In jedem Durchgang darf man bis zu drei mal hintereinander würfeln. Dabei darf man "passende" Würfel zur Seite legen und mit den verbleibenden weiter würfeln. Spätestens nach dem dritten Wurf muss man sich für ein freies Feld auf dem Spielzettel entscheiden, welches nun mit dem Ergebnis dieses Wurfes bewertet wird.
Ziel ist es, eine möglichst hohe Gesamtpunktzahl zu erzielen.

Es gibt insgesamt 13 Felder, die es auszufüllen gilt:
a) Einser: alle Einser werden addiert
b) Zweier: alle Zweier werden addiert
d) Dreier: alle Dreier werden addiert
c) Vierer: alle Vierer werden addiert
e) Fünfer: alle Fünfer werden addiert
f) Sechser: alle Sechser werden addiert
g) Full House: drei gleiche und zwei gleiche Würfel, wird mit 25 Punkten bewertet
h) Große Straße: 1-2-3-4-5 oder 2-3-4-5-6, wird mit 40 Punkten bewertet
i) Kleine Straße: 1-2-3-4 oder 2-3-4-5 oder 3-4-5-6, wird mit 30 Punkten bewertet
j) Chance: alle Würfelaugen werden addiert
k) Dreierpasch: drei gleiche Würfel, alle Würfelaugen werden addiert
l) Viererpasch: vier gleiche Würfel, alle Würfelaugen werden addiert
m) Fünferpasch bzw. Kniffel: fünf gleiche Würfel, wird mit 50 Punkten bewertet

Wenn man beim Sammeln der ersten 6 Kategorien (Einser bis Sechser) in der Summe mindestens 63 Punkte bekommen hat, also beispielsweise für jedes Feld drei passende Würfel, gibt es einen Bonus von 35 Punkten.


Zusätzlich benötigte Hardware

Ein zusätzlicher Taster (1-poliger Schließer), der zwischen PortD.3 (also Lötpad D3) und GND angeschlossen wird. Der benötigte Pullup-Widerstand wird im Controller intern hinzugeschaltet.




Anzeige und Bedienung

Durch Einwurf einer Münze wird King Kong gestartet. Im Display erscheint kurz ein Startbildschirm. Anschließend wird bereits der erste Würfelvorgang mit allen 5 Würfeln gestartet, was auch im Display angezeigt wird. Durch einen Tastendruck wird das Würfeln gestoppt und es wird das Würfelergebnis angezeigt. Zusätzlich zu den 5 Würfeln werden im unteren Displaybereich zwei Symbole angezeigt: links ein Tildesymbol (~), um einen erneuten Würfelvorgang zu starten, rechts ein Pfeil, um in die Anzeige der auszufüllenden Spielfelder zu gelangen. Die Symbole sind auch in der Grafik wuerfel.jpg zu sehen.
Mit dem rechten Poti kann nun ein Würfel oder eines der 2 Symbole angewählt werden, hierzu ist der Einstellbereich des Potis in 7 Bereiche unterteilt. Der momentan angewählte Würfel bzw. das angewählte Symbol blinkt. Man kann nun festlegen, welche Würfel stehen bleiben sollen und welche erneut gewürfelt werden sollen, falls gewünscht. Dazu wählt man einen Würfel an und bestätigt mit einem Tastendruck. Der Würfel blinkt dann als ausgefülltes Quadrat und symbolisiert damit, dass er zwar gelöscht wurde, aber momentan per Poti angewählt ist. Dreht man das Poti weiter, dann wird das Quadrat gelöscht. Durch einen erneuten Tastendruck kann ein abgewählter Würfel auch jederzeit wieder angewählt werden, es wird dann wieder der entsprechende Würfelwert angezeigt. Nachdem man für alle 5 Würfel die Auswahl durchgeführt hat, wählt man das Symbol für "neu würfeln" an, sodass es blinkt und bestätigt dies mit einem Tastendruck. Die abgewählten Würfel werden dann neu gewürfelt, die angewählten bleiben erhalten. Falls kein Würfel abgewählt wurde, wird auch nicht neu gewürfelt, es erfolgt dann keine Reaktion auf den Tastendruck. Das Würfeln wird wieder durch einen Tastendruck gestoppt. Nun können wieder mit dem rechten Poti die Würfel an- und abgewählt werden und auf Wunsch wieder neu gewürfelt werden. Es sind maximal 3 Würfelvorgänge möglich, danach ist das Abwählen sowie das neu Würfeln solange blockiert, bis ein Spielfeld ausgewählt wurde. Es kann jedoch auch bereits nach dem ersten Wurf das Würfelergebnis in ein Spielfeld eingetragen werden, wenn z.B. schon ein geeignetes nicht mehr zu optimierendes Würfelmuster vorliegt.



Um das Würfelergebnis in ein Spielfeld einzutragen, wird mit dem rechten Poti das Pfeil-Symbol unten rechts angewählt, sodass es blinkt. Durch einen Tastendruck wird die Auswahl bestätigt. Nun werden die noch zu vergebenden Spielfelder (max. 13) angezeigt. Bereits ausgefüllte Spielfelder werden nicht mehr angezeigt. Im oberen Displaybereich werden die Spielfelder a-g und im unteren Bereich die Spielfelder h-m angezeigt (Aufteilung siehe bei Spielregeln). Die Symbole für die einzelnen Spielfelder sind auch in der Grafik spielfeld.jpg zu sehen. Mit dem rechten Poti, das nun in 13 Einstellbereiche unterteilt ist, kann das gewünschte Feld angewählt werden, sodass es blinkt und mit einem kurzen Tastendruck wird die Auswahl bestätigt. Bei der Auswahl eines Felds werden die freien Felder automatisch übersprungen. Nach dem kurzen Tastendruck wird die Punkteanzahl, die das gewählte Feld in Verbindung mit dem Würfelergebnis ergibt, auf dem Display angezeigt, z.B. 25 bei Full House. Durch einen kurzen Tastendruck wird der nächste Würfelvorgang gestartet und es wird weiter verfahren wie oben beschrieben. Dies wiederholt sich solange, bis alle 13 Spielfelder ausgefüllt wurden.

In der Spielfeldauswahl kann statt eines kurzen Tastendrucks auch ein langer Tastendruck erfolgen. Dies bewirkt, dass das Würfelergebnis nicht in das gewählte Spielfeld eingetragen wird, sondern stattdessen zurück zur Anzeige des Würfelergebnisses gewechselt wird. Hierzu muss die Taste solange gedrückt werden, bis wieder die Anzeige mit dem Würfelergebnis erscheint. Dadurch ist es möglich, jederzeit das Spielfeld einzublenden und ohne Auswahl wieder zu verlassen, um nachschauen zu können, welche Felder denn noch frei sind und dementsprechend die Würfelan- und abwahl vorzunehmen.

Nachdem alle 13 Spielfelder ausgefüllt wurden, wird die erzielte Gesamtpunktezahl blinkend im Display dargestellt. Falls in den Spielfeldern a-f (Einser bis Sechser) mehr als 63 Punkte erzielt wurden, wird der Bonus von 35 Punkten automatisch hinzuaddiert. Durch einen weiteren Tastendruck geht King Kong in den stromsparenden Standbymodus. Durch einen erneuten Münzeinwurf kann das Spiel neu gestartet werden.



Quellcode

Der Code für den ATmega8 auf der Ping Pong Platine wurde mit dem C-Compiler CodeVision AVR (Version 2.04.6 Evaluation) erstellt. Diese Evaluation-Version kann für den privaten nicht-kommerziellen Gebrauch kostenlos verwendet werden und ist auf eine Codegröße von 3 kB beschränkt, was für diese Anwendung gerade noch ausreicht. Das komplette Projekt ist in der ZIP-Datei enthalten (Projektdatei für CodeVison AVR ist kingkong.prj).


Quellen/Links:
Kniffel: http://de.wikipedia.org/wiki/Kniffel
C-Compiler CodeVision AVR: http://www.hpinfotech.ro/html/download.htm



Download:  1003KingKong.zip


Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller