Forum: Mikrocontroller und Digitale Elektronik PingPong das Kultgame jetzt mit AVR?


von teslanikola (Gast)


Lesenswert?

Hallo Leute,
ich bin mal letzt im www. gesurft und hab ein tolles Projekjt entdeckt:
ein PingPongspiel mit AVR und 5x7Matrix display, das hatt mich auf die
idee gebracht sowas auch zu machen! Nur hatt mich das vor ein paar
Probleme gestellt:
1. Das Movment des Balls, dafür währe es doch sinnvoll einen Timer zu
verwenden, so jetzt zählt der gute ja nur vorwärts, habt ihr ne idee
wie ioch das machen kann damit der "Rückwärts" zählt?
2. Die anzeige, ich hab mich schon ab und zu mal mit Multiplexing
beschäftigt aber sowas setellt mich vor ein problem ( ich möchte eh ein
10x7 display machen), da ich ja immer die possition des balles und des
Spieler ausgeben muss.

so das wars glaub mit den problemen. Als µC werde ich ein M8 nehmen.
Schreiben werde ich in basic ( setzt aber timer bits selber das spart
unötigen code ein )

Hoffe ihr habt ein paar ideen.

Danke schonmal

CU and TESLA4FUTRURE

von entity (Gast)


Lesenswert?

Du kann natürlich in jedem Timerdurchlauf von ner Variablen
was abziehen .. sollte immer gehen;)

von teslanikola (Gast)


Lesenswert?

ja das wäre ne gute idee das mit dem timer hab ich weitgehend gelösdt
aber ein neues Prob entdeckt wie zur hölle erkenne ich ob mein ball das
brett berührt hat?

von entity (Gast)


Lesenswert?

Bist du sicher das du Programmiertechnisch einigermaßen den Durchblick
hast um so ein Projekt zu beenden?

Versuch erstmal nen Ping Pong am Pc zu erstellen, das Debuggen mit nem

µC dauert länger und ist nicht so übersichtlich..

von teslanikola (Gast)


Lesenswert?

das problem liegt darin, dass ich überhaupt noch nie ein Spiel
programmiert hab und dass ich noch nie mit Matrix Displays gearbeitet
hab das ist das problem das mit dem movment hab ich jetzt voll raus das
geht auch schon wunderbar!!! freu

von Jens D. (jens) Benutzerseite


Lesenswert?

du musst eben gucken, wo der ball ist, wenn er die letzte reihe beruehrt
und wo der balken steht
wenn != ist er raus wenn die positionen sich ueberschneiden etc ist er
drin
das sollte sehr einfach sein

von Malte _. (malte) Benutzerseite


Lesenswert?

Ich habe vor ein paar Wochen Pong auf nem 16x16 LED Display Programmiert
(ATMEGA32).
Grundprinzip:
Der Ball besteht aus Daten in einem Struct welches, X-Position,
Y-Position, X-Bewegungsrichtung und Y-Bewegungsrichtung beinhaltet. Bei
jedem Bewegungsschritt wird ausgeführt (Pseudocode):
X-Position += X-Bewegungsrichtung
Y-Position += Y-Bewegungsrichtung
Wenn X-Position == Wand -> X-Position *= (-1);
Wenn Y-Position == (Wand-1) && passendes Brett == X-Position ->
  Y-Position *= (-1);
Wenn Y-Position == Wand -> Spiel verloren.

So ungefähr, ich habs noch etwas verkompliziert und die Bretter 3 Pixel
breit gemacht, sowie den Einfallwinkel ein wenig berücksichtigt. :-)
Bei Interesse hier das Resultat:
http://www.marwedels.de/malte/ledmatrix.html

von TravelRec. (Gast)


Lesenswert?

@ Malte: Genial, Respekt!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.