Esempio n. 1
0
 private void ResolveAttackPhase(IBattleable a, IBattleable b)
 {
     ResolveAttack(a, b);
     if (b.IsAlive())
     {
         ResolveAttack(b, a);
     }
 }
Esempio n. 2
0
 public BattleResult Resolve()
 {
     while (_attacker.IsAlive() && _defender.IsAlive())
     {
         _round++;
         if (AttackerHasInitiative())
         {
             ResolveAttackPhase(_attacker, _defender);
         }
         else
         {
             ResolveAttackPhase(_defender, _attacker);
         }
     }
     return(new BattleResult(_attacker, _defender, _log));
 }