PingPong das Kultgame jetzt mit AVR?

Gast #220891
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
Gast
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?
Gast
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..
Gast
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
Persönliche Seite
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.