Ping-Pong Platine: Ergänzung, Umbauten, neue Funktion
Die Ping Pong Platine als Plattform für ein BREAKOUT Spiel
Eben so legendär wie das alte „Tele-Spiel-Tennis" sind wohl die „BREAKOUT" Varianten. Ziel des Spiel ist es, mit einem Ball und einem Schläger, eine Wand aus Steinen zu zerstören. Der Ball prallt von den Steine ab und wird mit dem Schläger zurück geschlagen. Das Spiel ist in BASCOM-AVR programmiert. BASCOM-AVR kann in der Demo Version bis zu 4kB AVR-Maschinencode erzeugen. Dieses Spiel schöpft den Umfang mit 4086 Byte weitgehend aus. Hardware Modifikationen an der Ping-Pong Platine sind nicht erforderlich.
von Ralf Geske
Zum Spiel
Gesteuert wird der Schläger mit dem rechten Poti. Eine Linksdrehung führt zu einer Linksbewegung des Schlägers..
Bei meinem Ping Pong Gehäuse habe ich deshalb den rechten Knopf des Potis so angeschraubt, das die Markierung nach oben zeigt, wenn der Schläger in der Mittelposition ist.
Das ist eine Erleichterung für diejenigen die das Spiel zum Ersten mal spielen.
Das Spiel wird mit Einwurf einer Münze gestartet. Dadurch gibt der Spieler 3 komplette Spiele mir je 3 Bällen frei. Das Spiel beginnt mit einer moderaten Geschwindigkeit. Je nach erreichter Punktzahl (Level) wird der Ball dann schneller. Damit immer genügend Steine vorhanden sind, werden die vorhandenen Steine nach einiger Zeit in Richtung Schläger bewegt.
Ganzen Artikel lesen...
Somit wird im oberen Bildschirmteil Platz geschaffen für zwei weitere Reihen Steine. Ein Spiel endet wenn der Ball 3 mal den Schläger verfehlt hat. Danach wird für fünf Sekunden die erreichte Punktezahl des Spieles angezeigt. Die Spielpunktzahl wird mit der im EEPROM gespeicherten Highscore Punktzahl verglichen und gegebenenfalls ersetzt. Somit bleibt der Highscore auch nach Stromverlust erhalten.
Sind drei komplette Spiele durchlaufen geht der Prozessor in den Powerdown Betrieb, aus dem er mit neuem Münzeinwurf aufgeweckt werden kann. Nach dem aufwecken aus dem Powerdown Modus wird vor dem jeweils ersten Spiel der Highscore angezeigt.
Da die Punkteanzeige nur drei Dezimalstellen hat und der Highscore meines Sohnes derzeit bei 776 liegt, musste noch eine Anzeige der Tausender Stelle her.
Diese ist derart umgesetzt, das in der oberen Reihe je tausend Punkte eine LED leuchtet, wäre schön wenn die mal jemand sehen würde.
Noch ein paar Worte zur Ball-Logik, sie ist am Ende viel einfacher geworden als ich erwartet hatte. Musste sie wegen der '4kB Grenze' auch.
- Ist der Ball in einer Aufwärtsbewegung und trifft auf einen Stein und unter diesem Stein ist noch ein weiterer vorhanden dann wird die X-Richtung gedreht. Ist darunter keiner vorhanden dann wird die Y-Richtung gedreht.
- Ist der Ball in einer Abwärtsbewegung und trifft auf einen Stein und über diesem Stein ist noch ein weiterer vorhanden dann wird die X-Richtung gedreht. Ist darunter keiner vorhanden dann wird die Y-Richtung gedreht.
Dadurch ergibt sich, na ja - wenigstens fast, das bekannte Ballverhalten.
Das Video
Bei der Durchsicht des Quelltextes wird auffallen, das an einigen Stellen eine 'For-Next Schleife' erheblich zur Lesbarkeit beigetragen hätte. Dort waren auch mal welche, aber das 'Do-Loop Konstrukt' benötigte weniger Speicherplatz.
Ich möchte nicht schließen ohne noch ein Lob an das Erbauerteam (Vater und Sohn) der Ping Pong Platine auszusprechen. Coole Plattform für Spielereien und mehr. Ich empfinde es keinesfalls als störend das die Serienausstattung der „Konsole" ohne Ton daher kommt. Einen Ballverlust zum Beispiel, kann man genau so gut visualisieren.
Link zum Quelltext in Bascom-AVR
Link zur Hexdatei
Nun wünsche ich viel Spaß beim Spielen.
Die passende Ergänzung zu diesem Artikel:
| |  | Franzis Ping-Pong Produktart: Softwarebox ISBN 978-3-7723-4799-3 Versandkostenfrei* direkt beim Verlag bestellen
29,95 € 
|

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen