ich habe da ein Problem in Sachen Kontrollfluss wie mir scheint. Möchte mir da eine Klasse basteln, welche Creeps initialisiert für mein Tower Defense - Spiel. Nun bastle ich gerade an der initialize Methode. Die Sache ist nun, dass ich innerhalb der __init__ - Methode weitere Funktionen abrufen muss, und diese muss ich ausserhalb der __init__ - Methode definieren, sonst funzt irgendwie nicht... und genau das ist mein Problem. Hier der Code:
Code: Alles auswählen
# -*- coding: cp1252 -*-
# Creeps - Klasse
class Creeps():
"Erzeugt Creeps"
creeps = [] # jedes erzeugte Creep landet in dieser Liste und wird gelöscht,
# wenn es stirbt oder das Ziel erreicht
def __init__(self, typ, level): # (initialize-Methode)
self.typ = typ
self.level = level
print "Creep erzeugt. \nTyp:", typ, "\nLevel:", level
self.attr = attribute_laden(typ, level) # die Statuswerte des Creep werden geladen und in einem Dictionary gespeichert
print "Attribute geladen. Attribute sind:", self.attr
Creeps.creeps.append(self) # jetzt wird das erzeugte Creep der creeps-Liste hinzugefügt
print "Creep in Creeps.creeps gespeichert:", Creeps.creeps
def attribute_laden(typ, level):
"Lädt die Statuswerte des erstellten Creep"
if typ == "blob":
attribute = {"walkcycle_x" : 5,
"walkcycle_y" : 5,
"cycle_trigger" : 12,
"speed" : 4}
elif typ == "zombie":
pass
return attribute
blob = Creeps("blob", 1)
Danke und viele Grüsse,
Henry