mikrocontroller.net

Forum: Projekte & Code AVR: Snake! ------------O


Autor: Johann L. (gjlayde) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab heute ein Snake in meine Röhreuhr geproggt :-)

Youtube-Video "Snake on AVR + D7-16 GJ"

Braucht ca. 1kB Flash und 100B RAM.

Die Hardware basiert auf der ScopeClock von Sascha Ittner, allerdings 
mit einem AVR ATmega168.

http://www.jogis-roehrenbude.de/Leserbriefe/Scope-...

Viel Spaß

Autor: Felix Bonjour (e-b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cool..

Autor: Elektrofeuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GAME OVER!

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Elektrofeuer schrob:
> GAME OVER!

Gibt's jetzt auch:

Youtube-Video "Snake Game on AVR Scope Clock"

und wird gepixelt vom Modul im 
Beitrag "Vektor-Font in C"

Die neue Windungsberechnung tut optimal und einwandfrei.
Nochmals Danke an yalu für den Wink mit dem Zaunpfahl im 
Beitrag "Ideen für Umlaufzahl-Berechnung?"

Autor: Elektrofeuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ideale Spiel für Arbeitspausen am Scope ;-) Hattu Schaltplan?

Autor: Johann L. (gjlayde) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:
> Schaltplan?

Wenn man schon ein Scope hat dann sollte das reichen.

Urspünglich hatte ich ein 12-Bit DAC angedacht, bin dann aber über 
Saschas Uhr gestolpert.

Zufällig hatte ich schon eine D7-16 die echt Bastel-freundlich ist.

Elektrofeuer wrote:
> Jetzt noch
> http://de.wikipedia.org/wiki/Spacewar bzw.

Auch ganz nett, vor allem weil es für 2 Spieler ist!
Aber ob das alles in Echtzeit geht...?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht denn gegen einen OC Ausgang mit RC Tiefpass (evtl höherer 
Ordnung)? Ist das nicht genau genug?

Achso: Tolles Teil :D

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. wrote:
> Was spricht denn gegen einen OC Ausgang mit RC Tiefpass (evtl höherer
> Ordnung)? Ist das nicht genau genug?

Zu langsam.
20MHz, 8bit -> 78kHz -> bestenfalls 20kS/s. Mit 10bit sinds nur noch 
5kS/s usw.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Simon K. wrote:
>> Was spricht denn gegen einen OC Ausgang mit RC Tiefpass (evtl höherer
>> Ordnung)? Ist das nicht genau genug?
>
> Zu langsam.
> 20MHz, 8bit -> 78kHz -> bestenfalls 20kS/s. Mit 10bit sinds nur noch
> 5kS/s usw.

Ah, Alles klar!

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Schick,

hatte mal was ähnliches angefangen... Leider ist C code immer ein Kraus 
für mich.. :-(

Wenn man den Code umbauen könnte, das er mit Tasten funktioniert, mach 
ich eine Platine die man an nen Oszi anschließen kann, und stell sie 
hier rein.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier eine Animation, die ich damit erstellt habe.

Es sind die ersten 700 Frames von Level 3.

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Cool. Echt gut geworden. Haben wollen ;-)

Häng ich noch in deinem Mailfilter? :-)

900ss

Autor: Johann L. (gjlayde) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab noch ein paar Fehler und Hacks (tm) aus der PC-Version von Snake 
entfernt.

Jetzt kan man mit
make frame-<L>-<F>.png
den <F>-ten Frame von Level <L> als PNG-Grafik erzeugen.

Voraussetzung, um das PNG zu erzeugen, ist wieder convert (ImageMagick):

http://www.imagemagick.org

Falls man das nicht hat oder haben will, kann man auch mit
make frame-<L>-<F>.ppm
die entsprechende PPM-Grafik erzeugen und selber in ein besser 
anzeigbares Format konvertieren bzw. direkt anzeigen lassen falls man 
ein Programm hat, das PPM versteht.

http://de.wikipedia.org/wiki/Portable_Pixmap


Ins ZIP hab ich für die ganz Faulen eine Windows EXE gepackt, so daß es 
einfacher einzusetzen ist als die reine Quelle.

md5sum ist
b0c4db0e65670a665162c8acc24f40c8

Das Programm pc-snake.exe dazu aus einer Kommandozeile (cmd.exe) heraus 
ausführen; grafische Oberfläche hat es keine. Die Ausgabe erfolgt aus 
stdout; ein Aufruf, um eine PPM für Frame 1 von Level 3 zu erzeugen, 
sieht also so aus:
.\pc-snake.exe 3 1 > frame.ppm
nachdem man ins Verzeichnis
avr\morpheus\pc-snake
gewechselt ist.

Viel Spaß!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.