Hi,
ich fange gerade mit Phyton an und habe ein Problem. Ich programmiere ein Spiel bei dem sich eine beliebige Anzahl Spieler anschließen kann. Nun habe ich für die Spieler eine Klasse erstellt um so pro Spieler ein Objekt erzeugen zu können. Diese Objekte würde ich gerne für den Zugriff auf diese in einer Datenstruktur abspeichern um sie geordnet vorliegen zu haben.
Mir ist nur nicht klar ob das Möglich ist bzw. ob ich nicht vielleicht falsch vorgehe.
Würde mich über einen Tip freuen.
Grüße
Instanzen/Objekte speichern ?!?
- martin101986
- User
- Beiträge: 85
- Registriert: Montag 3. Dezember 2007, 19:15
- Wohnort: Steiermark, Österreich
Hallo,
klar ist das möglich. Dafür könntest du Listen oder Dictionaries verwenden.
Grüße Martin
klar ist das möglich. Dafür könntest du Listen oder Dictionaries verwenden.
Grüße Martin
Ich würde ein Dictionary nehmen und da als "Key" z.B. den Namen des Spielers (ich gehe mal davon aus, dass die einzigartig sind). Als "Value" speicherst du das Objekt. Das hat den Vorteil, dass man relativ einfach einen Spieler anhand eines eindeutigen Merkmals finden kann ohne lange suchen zu müssen
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Gar nicht.
Die Liste/das Dictionary hat nichts mit der Klasse/den Exemplaren zu tun, sondern speichert lediglich beliebige Objekte. Holst du die Objekte allerdings aus der Liste/dem Dictionary kannst du sie ganz normal benutzen.
Die Liste/das Dictionary hat nichts mit der Klasse/den Exemplaren zu tun, sondern speichert lediglich beliebige Objekte. Holst du die Objekte allerdings aus der Liste/dem Dictionary kannst du sie ganz normal benutzen.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Wo ist denn das Problem?
Code: Alles auswählen
player = dict()
player['alice'] = Player(name='alice')
player['bob'] = Player(name='bob')
player['bob'].win()
alice = player['alice']
alice.loose()
Bottle: Micro Web Framework + Development Blog
- martin101986
- User
- Beiträge: 85
- Registriert: Montag 3. Dezember 2007, 19:15
- Wohnort: Steiermark, Österreich
So z.B.
Code: Alles auswählen
class Player(object):
def __init__(self, name):
self.name = name
players = []
players.append(Player("Peter"))
players.append(Player("Thomas"))
for player in players:
print player.name
#Ausgabe
Peter
Thomas