Seite 1 von 1

[Gelöst] Zufällige Klasse instantiieren

Verfasst: Mittwoch 13. Februar 2008, 21:37
von Gnushi
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

Verfasst: Mittwoch 13. Februar 2008, 21:57
von Gnushi
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