Example #1
0
class DuelGen(models.Model):   
    critt1 = None
    critt2 = None
    result = None
    """
    @param critt1: (model.Critt) object
    @param critt2: (models.Critt) object
    """
    def __init__(self, critt1, critt2):
        print "--- Init duel critts"
        self.critt1 = DuelCrittGen(critt1)
        self.critt2 = DuelCrittGen(critt2)
        
    def fight(self):
        # Winner if left undefended
        if self.critt1.model_critt == None:
            self.result = "attwon_undef"
            return self._make_CrittDuel()
        elif self.critt2.model_critt == None:
            self.result = "defwon_undef"
            return self._make_CrittDuel()
        print "--- Fight between %s and %s ---" % (self.critt1.name(), self.critt2.name())
        duel_round = 0
        # Run the fight
        while not self.duel_over():
            duel_round += 1
            print "------ Round %s" % duel_round 
            self.critt2.take_damage(self.critt1.get_damage())
            self.critt1.take_damage(self.critt2.get_damage())
        # Find winner or draw
        if (self.critt1.is_dead() and self.critt2.is_dead()):
            self.result = "draw"
        elif self.critt1.is_dead():
            self.result = "attwon"
        elif self.critt2.is_dead():
            self.result = "defwon"
        return self._make_CrittDuel()
        
    def duel_over(self):
        if self.critt1.is_dead():
            return True
        elif self.critt2.is_dead():
            return True
        else:
            return False
        
    def _make_CrittDuel(self):
        if not self.critt1.model_critt == None:
            attacker = CrittSnapshop()
            attacker.make(self.critt1.model_critt)
        else:
            attacker = None
        if not self.critt2.model_critt == None:
            defender = CrittSnapshop()
            defender.make(self.critt2.model_critt)
        else:
            defender = None
        return CrittDuel(attacker=attacker, defender=defender, result=self.result)
Example #2
0
 def __init__(self, critt1, critt2):
     print "--- Init duel critts"
     self.critt1 = DuelCrittGen(critt1)
     self.critt2 = DuelCrittGen(critt2)