Dunkin Donuts Freak

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Saob
User
Beiträge: 23
Registriert: Mittwoch 12. Dezember 2007, 20:11
Kontaktdaten:

Joa, habe soeben den letzten Fehler beheben können und nun ist das ganze zu 100% meiner Meinung nach fertig :)
Danke an die Personen im "Entwicklungs-Thread", auch wenn es nicht ganz einfach war euch nachzukommen :P
Download: http://filebeam.com/ce7100def99ebf24ead623fc2f9379f0
Aufgabe ist es, soviele Donuts wie möglich einzusammeln, und dem Geist zu entkommen
1 normaler Donut = 100 Punkte, ne Uhr = 10 Sekunden extra + 500 Punkte, Special Donut = Bisherige Punktzahl*2
Mein Persöhnlicher Rekord liegt bei 47.XXX (weiß leider nimmer genau ^^)
Viel Spaß, und fleißig Kritik (am besten Konstruktive ;) ) und Bugmeldungen posten, und natürlich eure Highscore :P

PS: hoffe ist ok fürn 2ten Thread, da das Programm ja nun fertig ist passt es ja gut in in die Abteilung Showcase
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Ich krieg keinen Kontakt zum Server.
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

[gutgemeinte_kritik]
Du hast das mit den Klassen immer noch nicht verstanden, oder?
Ich meine, Methoden mit global statt self, das ist schon ... . Ich finde es echt erstaunlich, was aus diesem wirklich nicht schönen Code rauskommt. Du solltest noch ein bisschen Tutorials lesen und es dann nochmal probieren, denn das geht wesentlich schöner. Aufgrund der Länge werde ich jetzt nicht alles kritisierbare kritisieren, aber zB brauchst du nicht 10 Tastendrücke an eine Funktion binden, die eh überprüft, welche Taste gedrückt wurde (Es gibt sowas wie "Any-KeyPress". Deine ghost-Klasse ist eine ansammlung von Funktionen, die sehr nach copy'n'paste-Programmierung aussehen und besser Zusammengefasst werden sollten. Namen wie "GameOver1" bis "GameOver15" oder "Info1" bis "Info15" (übrigens nicht PEP-konform) klingen auch nicht sehr günstig.
Die Sternchenimporte brauche ich wohl nicht mehr zu erwähnen...
[/gutgemeinte_kritik]
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Also, ich habe deinen 1. Thread hier im Forum gefunden, habe es mir heruntergeladen und fand es schon mal eine sehr gute Idee =)
Man konnte zwar durch Wände laufen, aber das war nicht wichtig.

Jetzt habe ich den 2. Thread zufällig gefunden und muss sagen, du hast das Programm graphisch sehr schön umgesetzt! :-D

Das Programm gefällt mir und ich zocke es jetzt imer =)
Ich selbst werde mich da jetzt durcharbeiten, alles klassifizieren und noch kürzer machen, damit es einfach besser ausschaut^^

Mein Rekord beim ersten Mal zocken war genau 33.000 :D
Zweites Mal: 36.800 Punkte =D
Drittes Mal: 43.300 Punket *jihhaaa* Mit 36 Donuts, 5 Watches und 4 Special Donuts :D

Viele Grüße Markus :D
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beim Ansehen des Codes musste ich ja spontan an diese Seite hier denken :shock: :wink:
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Was gibt es bitte so tolles auf der Seite? :?:
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

File "DunkinDonutsFreak.py", line 39
PlayFrame.pack(side="left", fill="both", expand=1, fill="both")
SyntaxError: duplicate keyword argument

Zweimal fill="both" ;)
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Hey, den Error gibt es bei mir gar nicht? Ich habe es bis jetzt auch deswegen noch nicht bemerkt, habe es geändert^^

Cooles Programm!

Werde mir die Arbeit machen, und es besser machen, dann in eine ausführbare datei packen und zum Download anbieten, wenn du damit einverstanden bist?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Schade, dass sich die Spielfigur nicht ruckfrei bewegt! Das solltest Du ändern. Auch wäre es imho besser, wenn sie sich weiter in eine Richtung bewegt, auch wenn man keine Taste gedrückt hat!

Naja, der Code ist tatsächlich sehr unübersichtlich. Ich denke da musst du noch mal grundsätzliche Konzepte verstehen!

Deine move-Funtkionen sind ... naja, schlecht! Wenn Du sie Dir anguckst wirst Du schnell sehen, dass die sich sehr sehr ähnlich sehen -> man kann das sicher zusammenfassen!

Überlege Dir außerdem mal eine Level-Struktur. Mit absoluten Koordinaten zu rechnen ist sicher keine gute Idee!

Zum Thema "Tile basiertes Level" gibst hier im Forum so einiges zu finden ;-)

Naja, ich arbeite im Moment auch an einem "Fun"-Programm - wenn ich das mal veröffentliche, kannst Du Dir da sicher einiges abgucken. Auch wenn's mit pygame gemacht ist - die Modell-Strukturen kann man ja quasi beliebig übernehmen in andere Toolkits. Daher ist der MVC-Pattern ja auch so unheimlich wichtig!

Ansonsten finde ich die Idee durchaus gelungen und außerdem macht so ein Spielchen einfach Spaß zu programmieren :-)
Also mein Tipp: Versuch das Python-Tutorial durchzuarbeiten und das auf Dein Spiel zu übertragen!
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Also, ich habe jetzt fast alles analysiert, mir fielen direkt einige Verbesserungsvorschläge ein :-)

Was ich aber nicht verstehe: Für was steht denn das ´GhostAdd´?!
Ein grundlegender Tipp von mir: Variablen oder noch besser Attribute (wenn du OOP lernst) immer klein schreiben. Schon deine Bildvariablen heißen MarioImage etc. ich würde es lieber marioImage nennen...
Das ist wichtig, wenn du eine Klasse hast, das den Namen MyClass trägt, so kannst du die Variable myclass nennen! ;)

Du hast außerdem öfters Frames eingesetzt, wo sie nicht angebracht sind. So hast du den Spielcanvas in einen Frame gepackt, und den Frame in das Fenster zu den anderen Frames, ich würde einfach den Canvas zu den restlichen Frames packen, das ist alles erlaubt :D

Was ich aber toll finde ist der Geist, ohne ihn würde das Spiel nicht so viel oder gar keinen Spaß machen^^


Ich dachte mir am Anfang, als ich gesehen habe, dass du die ganzen GIFs mit Koordinaten geplact hast, dass ich das lieber mit dem Gridmanager machen würde, ist eine bessere Lösung, weil alle Bilder gleich groß sind und du dir damit hättest viel Zeit sparen können, um die Koordinatenzahlen auszuprobieren... Dann ist mir aber eingefallen, dass der Ghost ja nicht zwischen zwei Zellen Pixel um Pixel dann bewegt werden kann -.- Das ist der Nachteil und somit würde es aussehen wie bei der Spielfigur :)


Um nochmal auf meine Frage zurückzukommen.
Für was benutzt du die Variable ´GhostAdd`? Ich bin aus dem Namen einfach nicht schlau geworden, aber anscheinend willst du damit abfragen, ob zufällig die Mariospielfigur neben dem Geist steht, also das Spiel beendet werden muss... ?

Viele Grüße und viel Erfolg
Markus :)
Zuletzt geändert von Markus12 am Montag 10. März 2008, 21:10, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Markus12 hat geschrieben:Ein grundlegender Typ von mir: Variablen oder noch besser Attribute (wenn du OOP lernst) immer klein schreiben. Schon deine Bildvariablen heißen MarioImage etc. ich würde es lieber marioImage nennen...
Das ist wichtig, wenn du eine Klasse hast, das den Namen MyClass trägt, so kannst du die Variable myclass nennen! ;)
Wenn man Styleguide-konform sein wollte, würde man ``mario_image`` und ``my_class`` nutzen. Den Code selbst habe ich mir nicht angesehen, weil so viel Zeit habe ich momentan nicht für Codekritik.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Markus12 hat geschrieben:Was gibt es bitte so tolles auf der Seite? :?:
Tja, daran merkt man, dass du dich wohl noch nicht all zu lange auf dem Gebiet der Informatik rumtreibst :D
DrChAoS
User
Beiträge: 14
Registriert: Montag 10. März 2008, 16:29

Ich habe mir den Code nur kurz angesehen, und da könnte man sicher noch vieles zusammenfassen. Und bis auf dass, das man nach jedem Spiel fast ne neue Tastatur braucht weil man so drauf rum hämmern muss finde ich das Spiel toll für zwischendurch^^
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Hätte nicht gedacht das jemand ein Spiel mit Tkinter schreibt ;-)

Wirklich nett gemacht.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:Hätte nicht gedacht das jemand ein Spiel mit Tkinter schreibt ;-)
Dann guck dir mawes Spiele an.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

EyDu hat geschrieben:
Markus12 hat geschrieben:Was gibt es bitte so tolles auf der Seite? :?:
Tja, daran merkt man, dass du dich wohl noch nicht all zu lange auf dem Gebiet der Informatik rumtreibst :D

Doch sehr wohl ;) Ich kann Python und habe Info in der Schule - Durchgehend 1, also muss ich ja wohl irgendetwas davon verstanden haben ;D

Ich habe sie nur überfolgen, aber 1. ist sie auf englich und am Anfang ist ein Artikel, ich meine überall sind Artikel. Da frage ich mich, was du meinst?!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Markus12 hat geschrieben:Ich habe sie nur überfolgen, aber 1. ist sie auf englich und am Anfang ist ein Artikel, ich meine überall sind Artikel. Da frage ich mich, was du meinst?!
Englisch sollte eigentlich für Leute mit Informatik kein Problem sein :)

EyDu meinte jedenfalls die Artikel allgemein auf dieser Seite, keinen bestimmten. Heute war zum Beispiel mit Finite State Arg eine echte Perle dabei.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

ja ich kann englisch, aber genau den Artikel den du mir, Leonidas, gerade gesagt hast, verstehe ich nicht. Was soll das bitte sein!? Endlos viele 0 und der Code ist nicht zu verstehen oder zu entziffern! :roll:
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Markus12 hat geschrieben:[...] der Code ist nicht zu verstehen oder zu entziffern! :roll:
Jetzt bist du drauf gekommen ;-) Selbiges gilt nämlich auch für den Code des Spiels.
Markus12
User
Beiträge: 195
Registriert: Dienstag 6. März 2007, 19:32
Wohnort: Frankfurt am Main

Ok, das habe ich mir fast gedacht, als ich den letzten Beitrag geschrieben habe^^

Doch finde ich schon. Das Script habe ich fast alles verstanden :-)
Nur beim Ghost habe ich eben nicht die Variable ´Ghostadd´ verstanden...

Er ist zwar schon weitläufig, aber doch etwas verständlich^^
Antworten