Mehrere Objekte auf einmal erzeugen/ansprechen

Fragen zu Tkinter.
Antworten
donjhon
User
Beiträge: 2
Registriert: Mittwoch 28. März 2012, 19:06

Hallo,
ich bin im Moment dabei ein wenig python zu lernen und hab dazu mal n kleines Spiel programmiert, das klappt auch alles eig ganz gut, nur hängt das schnell mal wenn ich z.B zu oft schieße. Meine Frage ist nun, ob man mehrere Objekte oder auch eine ganze Klasse irgendwie mit einem Befehl oder in einer for-Schleife ansprechen kann, also z.B zur Kollisionsabfrage. Ich hab das fürs erste so gelöst:

Code: Alles auswählen

class bullet():
     ....
bullet1=bullet()
bullet2=bullet()
bullet3=bullet()
bullet4=bullet()
bullet5=bullet()
bullet6=bullet()
bullet7=bullet()
bullet8=bullet()
bullet9=bullet()
bullet10=bullet()
...
Ich dachte da in etwa an:
for i in range(x):
bullet[x]=bullet()
oder sowas ähnliches, weil der gesamte Code ist fast 600 zeilen lang und das ist oft nur so etwas. Wenn jemand will kann ich ihm auch den ganzen Code als .py schicken, ich habs auch mal hier: http://de.sourcepod.com/yisnkf21-7023 gespeichert, weiß nur nicht obs funktioniert. Wie gesagt, ich bin noch ziemlich unerfahren und würde mich über jede Hilfe freuen :)
Vielen dank schonmal :)
BlackJack

@donjhon: Wenn Du nicht weisst wie man mit Listen umgeht, solltest Du vielleicht noch keine Klassen definieren. Arbeite mal das Tutorial in der Python-Dokumentation durch.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hi donjhon

Wie schon BlackJack erwähnte sind Listen-Kenntnisse gefragt:

Code: Alles auswählen

NUM_BULLETS = 20
bullets = [bullet() for dummy in range(NUM_BULLETS)]
print(bullets)
print()
print("Anzahl Bullet-Instanzen =", len(bullets))
print("Bullet-Instanz mit index 0 =", bullets[0])
Gruß wuf :wink:
Take it easy Mates!
donjhon
User
Beiträge: 2
Registriert: Mittwoch 28. März 2012, 19:06

Ok, dankeschön, werd mich dann mal intensiver mit Listen beschäftigen. Wir hatten in der Schule nur, wie man Zahlen in Listen einfügt. :D

edit: wow , konnte das ganze Programm jetzt auf ca. 300 Zeilen kürzen, erspart ne menge Schreibarbeit das mit den Listen :D
Antworten