Ist dieses Tutorial gut als Basis?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Lobinder
User
Beiträge: 3
Registriert: Freitag 7. Dezember 2012, 14:25
Wohnort: Potsdam

Guten Tag,

ich bin relativ neu in Python, will aber lernen.
Ich durchstöbere im Moment Youtube und das Web nach Tutorials um mein Verständniss in Sachen Python und besonders Pygame zu steigern, ich bin aber bei diesesn Tutorials auf ein Problem gestoßen.
Ich fand ein Tutorial was die Basics gut erklärt wie ich finde:
http://www.spieleprogrammierer.de/wiki/Pygame-Tutorial
hier wird der Programmcode in seperate Dateien ausgelagert, was ich super finde
Bei dem Buch (sry für die Werbung):
http://www.amazon.de/Making-Games-Pytho ... 415&sr=8-1

wurde aber immer alles in eine Datei geschrieben, ich finde die Variante aus dem Tutorial besser und wollte auch so vorgehen. zb lese ich viele variablen bereits aus einer config Datei und hatte das auch bei Map infos und Text geplant.

Wie man sicher bereits erkannt hat, habe ich in dem Bereich nicht sehr viel Erfahrung, da ich vorher nur in PHP und VBA primitive Programme geschrieben habe (objektorientieurng ist bei mir eine große Baustelle).

Also nun meine Fragen, gibt es irgendwo einen Styleguide wo man an einem guten beispiel sehen kann wie sowas gut struktoriert und aufgebaut werden kann und taugt das Tutorial (http://www.spieleprogrammierer.de/wiki/Pygame-Tutorial) etwas um sich dinge ab zu schauen.

Schon einmal vielen Dank für die Antwort (Ich weiß es gibt keine dämlichen fragen, ich fühl mch aber meistens nah dran ^^).
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Lobinder hat geschrieben:Also nun meine Fragen, gibt es irgendwo einen Styleguide wo man an einem guten beispiel sehen kann wie sowas gut struktoriert und aufgebaut werden kann und taugt das Tutorial (http://www.spieleprogrammierer.de/wiki/Pygame-Tutorial) etwas um sich dinge ab zu schauen.
Ich hab' mal einen kurzen fünfminütigen Blick auf das Tutorial geworfen. Es gibt zwei Sachen die mir nicht so recht gefallen. Es werden dauernd führende doppelte Unterstriche vor Attributnamen einer Instanz verwendet und die Namen von Methoden sind auch nicht PEP-8-konform.

Zu Punkt 1: Wenn man etwas als privat kennzeichnen möchte, dann reicht ein einfacher führender Unterstrich. Zwei führende Unterstriche haben noch mal eine spezielle Auswirkung auf die interne Namensvergabe in Python, aber wenn du nicht weißt wofür es gut ist, dann brauchst du es ohnehin nicht. Werte zwanghaft verstecken zu wollen ist ohnehin nicht Python-Stil, also könnte man den Unterstrich auch ganz weglassen.

Zu Punkt 2: Funktionen sollten nicht getTileSize und handleInput heißen, sondern get_tile_size und handle_input. Diese Konvention aus dem Python Style Guide erleichtert den Umgang mit Code der von mehreren Personen verwendet wird.


Ein Beispiel aus dem angegebenen Tutorial:

Code: Alles auswählen

class TileType(object):
    def __init__(self, name, startX, startY, width, height):
        self.__name = name
        self.__rect = pygame.rect.Rect(startX, startY, width, height)

    def getName(self):
        return self.__name

    def getRect(self):
        return self.__rect
Das könnte man wie folgt umsetzen:

Code: Alles auswählen

class TileType(object):
    def __init__(self, name, start_x, start_y, width, height):
        self.name = name
        self.rect = pygame.rect.Rect(start_x, start_y, width, height)
Die getName-Methode wird nicht mehr benötigt, da man von außen einfach direkt auf den Wert zugreifen kann.
Lobinder
User
Beiträge: 3
Registriert: Freitag 7. Dezember 2012, 14:25
Wohnort: Potsdam

Vielen dank schon mal für die Info wegen dem Styleguide, da hab ich wieder was zum lesen.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Lobinder hat geschrieben:Vielen dank schon mal für die Info wegen dem Styleguide, da hab ich wieder was zum lesen.
Was auch ungemein hilft: hier im Forum mitlesen. Du wirst - gerade zu Beginn - nicht unbedingt alles direkt verstehen, aber es gibt einem doch sehr schöne Anregungen.
Lobinder
User
Beiträge: 3
Registriert: Freitag 7. Dezember 2012, 14:25
Wohnort: Potsdam

Ich hatte ja schon im Forum etwas mitgelesen, unter anderem war da auch dieses Tutorial erwähnt, aber leider nicht wie es zu bewerten ist.

Ich lerne ja gerade mit try and error und Youtube+ Galileo-Bücher, ich denke das ist ein Weg der ganz in Ordnung ist.

Ich habe z.B den ganzen Tileset und Tilemap habe ich rausgeschmissen, da dies für mich nicht umbedingt relevant ist, für das was ich testen will.

Noch etwas armselig aber jeder fängt mal klein an.
Antworten