Seite 2 von 2

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 17:32
von kaytec
TkSnack werde ich nehmen und ich glaube man soll pygame und Tk nicht mischen.

Gruß Frank

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 17:36
von Xynon1
Naja, prinzipiell hat Sound eigentlich nichts mit der Grafik zu tun, von daher imho egal.

Aber Paket/Modul Qualität und deren Abhängigkeiten wären Punkte für mich, an den ich mich orientieren würde. Und wenn man keine Abhängigkeiten an pygame haben will ist das tkSnack natürlich "besser".

Edit: Und für Space Inviders ist das natürlich mehr als ausreichend :D

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 17:46
von yipyip
Also allein schon weil die Tatsturabfrage etwas mehr low-level ist würde ich für Spiele lieber Pygame nehmen. Habe gerade Pygame-Sound in mein Beispielprogramm eingebaut.
Scheint ohne Probleme zu laufen...

:wink:
yipyip

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 17:50
von Xynon1
Was verstehst du unter low-level ?
Der einzige Unterschied ist doch nur das die Tk-KeyEvents nicht als Enum existieren sondern halt als String.

Kannst dir ja ein kleines Modul wie Tkconstants schreiben und einfach die Strings Variablen zuordnen (wem es Spaß macht)

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 19:36
von yipyip
Mit 'low-level' meinte ich eigentlich nur solche Methoden wie in pygame.keys. Status aller Tasten auf einmal mit pygame.key.get_pressed(), pygame.key.set_repeat(), Scancode, etc. ...

:wink:
yipyip

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 20:40
von Xynon1
Ok, Repeat geht nicht und du hast ja recht pygame ist schon ausgefeilter das Streite ich doch auch gar nicht ab, aber unter "low-level" bei KeyEvent verstehe ich was anderes :D

Re: Keyboard-Event

Verfasst: Dienstag 21. Dezember 2010, 22:18
von kaytec
Hallo !

http://www.python-forum.de/pastebin.php?mode=view&s=105

Habe mal weiter gebastelt.

Gruß Frank

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 09:50
von Xynon1
Würde eventuell noch 2 oder 3 alternativ hits einbauen, damit etwas abwechslung rein kommt, aber ansonst (wo ist hier der Daumen-hoch Smile)

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 12:57
von kaytec
Hallo !

http://www.python-forum.de/pastebin.php?mode=view&s=106

nächste Version

Gruß Frank

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 13:08
von Xynon1
Funktioniert einwandfrei, schon fast wie das orginale Space Invaders :D

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 13:26
von yipyip
Arrgh... jetzt spiele ich doch die ganze Zeit Space Invaders...
;-)
Ein kleiner Bug:
Nachdem ich den letzten Gegner abgeschossen habe, friert das Spiel ein und nachdem ich das Fenster schliesse erscheint die Fehlermeldung
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in __call__
return self.func(*args)
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 498, in callit
func(*args)
File "<stdin>", line 107, in run
File "<stdin>", line 218, in set_new_positions
IndexError: list index out of range
Da fehlt wohl der Fall, das die Liste der Gegner auch leer sein kann. (nehme ich mal prinzipiell so an, habe mir den Code jetzt nicht so detalliert angeschaut)

:wink:
yipyip

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 13:34
von Xynon1
Naja, ist logisch, da er immer noch die Invaders bewegt, obwohl es keine in der Liste mehr gibt.
Sollte man am besten immer wenn ein Invader stirbt, abfragen ob noch welche da sind - aber es gibt ja noch kein GAME OVER in dem Spiel, von daher wird er das sicher noch einbauen.

@kaytec
Wenn ich mir einige Stellen ansehe im Quellcode, solltest du mittlerweil mitbekommen, das es langsam kompliziert wird dort etwas zu editieren.
Du solltest wirklich dringend nochmal genau überlegen was du dort an Quellcode gezielt trennen kannst.

Edit: Achja, das orginal Invaders hatte 224×240 Auflösung, die ist zwar für heutige verhältnisse zu klein, aber es wäre schön das der Maßstab gleich bleibt, also zB. 672x720, weil das ja das Raster, wie die Aliens sich bewegen definiert.

Re: Keyboard-Event

Verfasst: Mittwoch 22. Dezember 2010, 18:25
von kaytec
Hallo yipyip !
Der Fehler ist mir bekannt - ist ja noch nicht fertig !

Hallo Xyon1!
Na ja, es wird schon komplizierter, doch glaubst du wirklich, dass ich noch irgendwas von dem "Spaghetticode" verstehe ? :shock:

Eine gute Doku würde da helfen.

EIne Auflösung von 600 auf 480 ist für Leute mit kleinem Monitor immer noch wichtig - sagt unser Guru BJ.

Gruß Frank

Re: Keyboard-Event

Verfasst: Donnerstag 23. Dezember 2010, 10:30
von Xynon1
Es geht mir ja nicht direkt um die Auflösung, da hat BlackJack schon recht, sondern es geht mir um das Verhältnis deiner InvaderGUI, denn das ist dann eine andere Fläche in dem sich die Invaders bewegen können.
Du kannst ja die Application auf 600x480 lassen, aber der Raum in dem sich die Aliens bewegen sollte dem orginal entsprechen.

Re: Keyboard-Event

Verfasst: Donnerstag 23. Dezember 2010, 17:07
von kaytec

Re: Keyboard-Event

Verfasst: Donnerstag 23. Dezember 2010, 17:56
von Xynon1
Du musst nicht jede Version uploaden, es reicht wenn du nur, die wo du Probleme hast, hochzuladen und dann die fertige Version.

Re: Keyboard-Event

Verfasst: Freitag 24. Dezember 2010, 23:03
von kaytec