コード例 #1
0
ファイル: test.py プロジェクト: buxx/simtermites
        him.hits.append('perfore')
        return him
 
class TotoWarrior (ArmedWarrior):
    def fight(self):
        super(TotoWarrior, self).fight()
        print 'fait toto!'
 
class ArmedWarrior2 (ArmedWarrior):
    def how_feel(self):
        try:
            self.hits.index('perfore')
            print 'Damned! je suis perfore !'
        except ValueError:
          super(FooWarrior, self).how_feel()
 
factory = Factory()
 
factory.extend('Warrior', SpaceWarrior, BaseWarrior)
factory.extend('Warrior', ArmedWarrior, BaseWarrior)
 
factory.extend('Warrior', TotoWarrior, ArmedWarrior)
factory.extend('Warrior', ArmedWarrior2, ArmedWarrior)
 
some_bug_hited = factory.get_class('Warrior')()
 
warrior = factory.get_class('Warrior')()
warrior.hit(some_bug_hited)

print 'and hited bug say:'
some_bug_hited.how_feel()
コード例 #2
0
ファイル: spaceobjects.py プロジェクト: buxx/simtermites
from factory import Factory
from baseobjects import BaseWorker, BaseWarrior

class SpaceWarrior(BaseWarrior):
    def fight(self):
        super(SpaceWarrior, self).fight()
        print 'Se bat dans l\'espace'

factory = Factory()
factory.extend('Warrior', SpaceWarrior)
コード例 #3
0
ファイル: armedobjects.py プロジェクト: buxx/simtermites
from factory import Factory
from baseobjects import BaseWorker, BaseWarrior

class ArmedWarrior(BaseWarrior):
    def fight(self):
        super(ArmedWarrior, self).fight()
        print 'tire un coup de fusil'

factory = Factory()
factory.extend('Warrior', ArmedWarrior)