[Gelöst] Zufällige Klasse instantiieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Gnushi
User
Beiträge: 77
Registriert: Dienstag 12. Dezember 2006, 09:49

[Gelöst] Zufällige Klasse instantiieren

Beitragvon Gnushi » Mittwoch 13. Februar 2008, 21:37

Hallo zusammen!

Ein kleines Spiel enthält einige computergenerierte Gegenspieler:

Code: Alles auswählen

class PlayerAi(Player):
  def __init__(self):
    ...
  def register_strategy(self, strategy):
    ....


Ebenfalls habe ich einige Strategien:

Code: Alles auswählen

class Strategy(object):
  ....

class Strategy1(Strategy):
  ....

class Strategy2(Strategy):
  ....
...


und möchte zur Laufzeit einer AI eine zufällig ausgewählte Strategie mitgeben, etwa so

Code: Alles auswählen

for i in xrange(num_ais):
  p = PlayerAI()
  p.register_strategy(Objekt aus Zufall(Strategy1 oder Strategy2))


Wie kann ich nun per Zufall aus einer der beiden Klassen ein Objekt erzeugen und dieses mit meinem Spieler verheiraten?

Vielen Dank

GnuShi
Zuletzt geändert von Gnushi am Mittwoch 13. Februar 2008, 21:57, insgesamt 1-mal geändert.
Gnushi
User
Beiträge: 77
Registriert: Dienstag 12. Dezember 2006, 09:49

Beitragvon Gnushi » Mittwoch 13. Februar 2008, 21:57

Patsch!

Hatte wohl gerade ein Brett vor dem Kopf:

Code: Alles auswählen

import random

class A(object):
    def __init__(self):
        print "A"

class B(object):
    def __init__(self):
        print "B"

l = [A, B]

for i in xrange(10):
    c = random.choice(l)()


Gruß

GnuShi

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]