Würfelspiel 36  

von Michael Gaus  

Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller

Zwei Spieler spielen gegeneinander, es gibt einen Würfel im Spiel. Spieler 1 beginnt zu würfeln und kann vor jedem Wurf entscheiden, ob er nochmals würfeln möchte oder nicht. Die Würfelergebnisse werden aufsummiert. Ziel ist es, möglichst dicht an die Summe von 36 zu kommen, jedoch darf diese Summe nicht überschritten werden. Nachdem Spieler 1 entschieden hat, nicht mehr weiterzuwürfeln oder aber die Summe von 36 überschritten hat, ist Spieler 2 an der Reihe. Nachdem auch Spieler 2 aufgehört hat zu würfeln oder die Summe von 36 überschritten hat, werden die Würfelergebnisse verglichen. Derjenige, der dichter an 36 dran ist, jedoch nicht darüber, bekommt einen Punkt.
Im zweiten Durchgang beginnt nun Spieler 2 zuerst zu würfeln. Bei jedem Durchgang wechseln sich die beginnenden Spieler ab. Wer zuerst 5 Punkte erzielt hat ist der Sieger des Spiels.

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.

Durch Einwurf einer Münze wird das Würfelspiel 36 gestartet. Im Display erscheint kurz ein Startbildschirm. Anschließend erscheint ein blinkender Pfeil links, der symbolisiert, dass Spieler 1 an der Reihe ist. Durch einen Tastendruck bestätigt Spieler 1. Jetzt wird im Display oben links die aktuelle Würfelsumme angezeigt. Mit dem rechten Poti kann ausgewählt werden, ob er würfeln und somit die Summe erhöhen möchte (Symbol "+" links unten im Display) oder aber stattdessen die Summe so stehen lassen möchte (Pfeil rechts unten im Display). Die je nach Poti-Stellung aktivierte Auswahl wird blinkend dargestellt. Durch einen Tastendruck wird die Auswahl bestätigt. Falls "würfeln" ausgewählt wurde, so startet der Würfelvorgang, oben rechts im Display wird ein Würfel eingeblendet. Durch einen weiteren Tastendruck wird der Würfelvorgang gestoppt, das Würfelergebnis angezeigt und zur Summe hinzuaddiert. Dies wiederholt sich solange, bis der Spieler durch Anwahl des Pfeils entschieden hat, nicht mehr weiterzuwürfeln. Falls die Summe von 36 überschritten wurde, ist ein weiteres Würfeln nicht mehr möglich.

Nun ist der andere Spieler an der Reihe, was wiederum durch einen blinkenden Pfeil rechts im Display signalisiert wird. Der Spieler würfelt nun ebenfalls. Nachdem er das Würfeln beendet hat, werden die beiden Würfelsummen der Spieler angezeigt. Derjenige mit der höheren Summe, jedoch höchstens 36, erhält einen Punkt. Durch einen Tastendruck wird die nächste Runde gestartet. Der blinkende Pfeil rechts oder links signalisert, welcher Spieler die jeweilige Runde beginnt. Sobald einer der Spieler 5 Punkte erzielt hat, ist das Spiel beendet. Es wird das Gesamtergebnis angezeigt, wobei die Punktzahl des Gewinners blinkt.  Durch einen weiteren Tastendruck wird der Atmega8 in den stromsparenden Standbymodus versetzt. Durch einen erneuten Münzeinwurf kann das Spiel erneut gestartet werden.

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 36.prj).


Quellen/Links:
C-Compiler CodeVision AVR: http://www.hpinfotech.ro/html/download.htm

  
Download:  1003sechundreissig.zip


 


Elektronik-Labor  Labortagebuch  ELO  Mikrocontroller