Forum: Projekte & Code ein plattformunabhängiger Tetris-Clone


von Uwe B. (boerge) Benutzerseite


Angehängte Dateien:

Lesenswert?

MoinMoin,

anbei der Quelltext für einen plattformunabhängigen Tetris-Clone (bitte 
dazu die, im Archiv enthaltene README durchlesen!). Vielleicht hat ja 
jemand Verwendung dafür und kann das Zeugs für eigene Projekte 
gebrauchen.

Konstruktives Feedback ist natürlich erwünscht...!

Grüße Uwe

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hi Uwe!

Sehr schöner minimalistischer Tetris-Clone... sogar in Farbe :-)

Ich habe ihn direkt unter Linux ausprobiert... irgendwann diese Woche 
portiere ich den mal spaßeshalber auf ATmega & STM32.

Vielen Dank,

Frank

von Armin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe das Ganze auf meiner WordClock zum Laufen bekommen.

Im Anhang sind:
timer:
Einfache Implementierung für Mikrocontroller die nur den zyklischen 
Aufruf einer Funktion benötigt z.B. im systick_interrupt oder 1msTask.

tetris_io:
Jede Änderung wird zusätzlich zur Ausgabe per MCURSES auch in einem 
x-y-Array gespeichert. Dieses wird mit dem Aufruf von TRIS_UpdateLed() 
auf WS2812 LEDs ausgegeben.
Wenige kleine Optimierungen in ein paar MCURSES Aufrufen (ohne 
Compiler-Optimierung kam es bei mir manchmal zum Ruckeln). Da kann aber 
sicher noch mehr herausgeholt werden.

random:
Eine sehr einfache Implementierung die immer die gleichen 100 Zahlen 
zurückgibt.

Vielen Dank!
Armin

von John D. (Gast)


Lesenswert?

Für etwa 100.000$/Jahr kannst du dieses Tetris spielen:
http://compgroups.net/comp.cad.cadence/tetris-on-a-die/1353380

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Armin schrieb:

> ich habe das Ganze auf meiner WordClock zum Laufen bekommen.

Gehts hier um die WordClock24h mit STM32F4?

> Wenige kleine Optimierungen in ein paar MCURSES Aufrufen (ohne
> Compiler-Optimierung kam es bei mir manchmal zum Ruckeln).

Meinst Du Änderungen im MCURSES-Source selbst? Wenn ja, welche?

Gruß,

Frank

von Uwe B. (boerge) Benutzerseite


Lesenswert?

MoinMoin,

Armin schrieb:
> ich habe das Ganze auf meiner WordClock zum Laufen bekommen.
>
super! Ungefähr so hatte ich mir es vorgestellt, als ich das Gerüst für 
diesen Tetris-Clone geschrieben habe. Die Engine (tetris.c) bleibt, wie 
sie ist und nur die hardware- und OS-abhängigen Routinen werden 
angepasst...

Nebenbei, ich habe vor ein paar Wochen meine letzte Version (mit ein 
paar kleinen Verbesserungen zur Version im 1.Posting) auf github 
"gelagert" --> https://github.com/boerge42/tetris

Grüße Uwe

von Uwe B. (boerge) Benutzerseite


Angehängte Dateien:

Lesenswert?

MoinMoin,

mal wieder eine Wortmeldung zu diesem Thema:

Im Anhang ist eine Portierung des oben vorgestellten Tetris-Clone auf 
einen ATmega328 zu finden. Die Geschichte ist mehr als eine 
Zwischenstufe zum eigentlich geplanten "großen" Projektziel zu sehen. 
Aber ich denke, dass es vielleicht den einen oder anderen interessieren 
könnte...

Als Eingabegerät wird ein Wii-Nunchuck (via I2C) verwendet.

Als Ausgabemedium wird derzeit noch die serielle Schnittstelle (via 
Franks mcurses) verwendet --> dies wird dann die finale Baustelle sein, 
denn ich plane natürlich ein eigenes Display.

Die Routinen meines Ursprungs-Tetris sind prinzipiell erhalten 
geblieben. Allerdings habe ich die Struktur der einzelnen Bestandteile 
etwas abgeändert, was hauptsächlich den notwendigen Timern geschuldet 
ist.

Grüße Uwe

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.