mein Problem dreht sich nicht direkt darum, dass ich in der Programmierung nicht weiter komme, sondern darum wie ich eine bestimmte Angelegenheit am besten löse.
Ich bin dabei ein Spiel mit pygame zu programmieren, einen Klon von SpaceInvaders.
Nun stehe ich vor folgendem Problem:
Ich habe eine Klasse Spaceship und eine Klasse Invader. Beide sind in der Lage, Geschosse abzufeuern. DIe Geschosse werden durch eine Klasse verwaltet, welche von List erbt.
Code: Alles auswählen
class Spaceship(object):
"""[...]"""
def __init__(self):
DoSomeThing()
def shoot(self, missile_list):
"""[...]"""
DoSomeThing()
missile_list.shoot(shot_position, 'up')
def handle(self, missile_list):
"""[...]"""
self.shoot(missile_list)
DoSomeThing()
class Invader(object):
"""[...]"""
def __init__(self):
DoSomeThing()
def shoot(self, missile_list):
"""[...]"""
DoSomeThing()
missile_list.shoot(position, 'up')
def handle(self, missile_list):
"""[...]"""
self.shoot(missile_list)
DoSomeThing()
class MissileLise(list):
"""[...]"""
def __init__(self):
DoSomeThing()
def shoot(self, position, direction):
"""[...]"""
DoSomeThing()
def handle(self):
"""[...]"""
DoSomeThing()
Meine Frage lautet nun:
Ist dies die Ideallösung?, weil alle Gruppen in meinem Spiel von Listen verwaltet werden(Explosionen, Geschosse und Invader). Ich habe die Methode noch nicht bis zum Ende durchgezogen, aber bereits jetzt erscheint es mir ineffizient die Instanzen den Methoden zu übergeben, da diese auch teilweise über mehrere Funktionen weitergegeben werden müssen. (Im Spiel werden bei mir alle Objekte mit <Objekt>.handle() aufgerufen)
Dankend für alle Beiträge: DiHydrogenOxide
