Space Invader

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
kaytec
User
Beiträge: 608
Registriert: Dienstag 13. Februar 2007, 21:57

@ sisu: Danke

Hier eine Kollisionserkennung 2D mit Bounding Boxes (Rechteck um die Objekte) - ist nicht sehr genau, doch für ein einfaches 2D-Spiel ausreichend. --> http://www.python-forum.de/pastebin.php?mode=view&s=142

Hilfe hatte ich hier gefunden --> http://www.virtual-maxim.de/pixelgenaue ... erkennung/

Gruß Frank
Benutzeravatar
kaytec
User
Beiträge: 608
Registriert: Dienstag 13. Februar 2007, 21:57

Hallo,

hatte nicht bedacht, dass die x u. y Positionen in der Mitte des Bildes sind.

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

Gruß Frank
Benutzeravatar
kaytec
User
Beiträge: 608
Registriert: Dienstag 13. Februar 2007, 21:57

Benutzeravatar
kaytec
User
Beiträge: 608
Registriert: Dienstag 13. Februar 2007, 21:57

Hallo !

Habe weiter gebastelt --> http://www.python-forum.de/pastebin.php?mode=view&s=292

Gruß Frank
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Was auffällt sind:

Gibst irgendwelche Performanzvorteile, wenn du in check_collision statt target.width lieber target_width nutzt? Wenn du Rechnungen einsparen willst, dann rechne nicht ständig die Hälfte von konstanten Variablen aus.

Code: Alles auswählen

self.game_run == False: 
Muss wirklich sein?

Code: Alles auswählen

self.screen_text = list()
Wieso keine eck. Klammern?

Lager mal die Daten aus und bei den vielen Präfixen könnten Objekte sicher den Lesefluss erhöhen.

Bei mir hängt er gerne mal beim Richtungswechsel.

Wenn du schon einen Start-Screen hast, hättest du wenigstens die Steuerung und Schusstaste erwähnen können. ESC ist sicher den Spieler bekannt, das engl. Wörterbuch kennt den Begriff nicht.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
kaytec
User
Beiträge: 608
Registriert: Dienstag 13. Februar 2007, 21:57

Hallo darktrym !

Ich erhoffe keine Performanzvorteile - bin froh das es läuft :-). Jeder Gegner, Bomben, Racketen sind "Invadersobjekte" und mit dem Punkt komme ich an die Werte.

Hälfte von konstanten Variablen ?

self.game_run --> musste mal sein - habe ich auch schon überlegt wieder rauszunehmen.

self.screen_text = list() --> hat mal Black Jack so gesagt, damit man den Typ erkennt.

Die Steuerung hängt bei mir nicht.

Was sind Präfixe ? Daten auslagern - Meinst Du die Bilder und Konstanten ? So bleibt beim Posten alles zusammen.

Die Feuertaste habe ich in der jetzigen Version eingefügt - ist mir bei dieser gar nicht aufgefallen.

ESC --> European Securities Committee

Gruß Frank und Dank für die Kritik
Antworten