ich möchte mein Listing kürzen.
Als Beispiel folgender Text:
Code: Alles auswählen
if self.figur_rot_sprites.has(Spr):
if self.spieler.Spielerfarbe()==0:
self.figur_rot_sprites.remove(Spr)
GleicheFarbe=True
if self.figur_gelb_sprites.has(Spr):
if self.spieler.Spielerfarbe()==1:
self.figur_gelb_sprites.remove(Spr)
GleicheFarbe=True
if self.figur_gruen_sprites.has(Spr):
if self.spieler.Spielerfarbe()==2:
self.figur_gruen_sprites.remove(Spr)
GleicheFarbe=True
if self.figur_blau_sprites.has(Spr):
if self.spieler.Spielerfarbe()==3:
self.figur_blau_sprites.remove(Spr)
GleicheFarbe=True
Folgendes habe ich mir gedacht und ausprobiert:
die Texte "self.figur_rot_sprites", "self.figur_gelb_sprites" usw. in eine Liste zu schreiben, welche in eine neue Methode geschrieben wird.
Diese Methode gibt die Liste durch z.B. <return liste_sprites> zurück.
In einer Schleife rufe ich die einzelnen Bereiche aus der Liste ab durch liste_sprites[sprite], wobei sprite jeweils um 1 erhöht wird.
Durch Hinzufügen von z.B. + ".has(Spr)" oder + ".remove(Spr)" wird die entsprechende Zeile ergänzt.
Die Spielerfarbe kann durch eine Zählervariable erhöht werden.
Leider funktioniert diese Art der Programmierung nicht.
Es kommt eine Fehlermeldung, die aussagt, dass eine Verbindung einer Gruppe mit einem String nicht funktioniert.
Gibt es eine Möglichkeit diese Zeilen mit Hilfe einer Schleife und einer zusätzlichen Methode zu verkürzen.
Die Methode würde ich an anderen Stellen auch einsetzen können.
Gruss Volker
Edit (BlackJack): Quelltext in Code-Tags gesetzt.