private void HandleBattle(IFighter attacker, WorldObject defender)
{
var defenderAsFighter = defender as IFighter;
int defenderDefensePoints = 0;
if (defenderAsFighter != null)
{
defenderDefensePoints = defenderAsFighter.DefensePoints;
}
int damage = attacker.AttackPoints - defenderDefensePoints;
if (damage < 0)
{
damage = 0;
}
if (damage > defender.HitPoints)
{
damage = defender.HitPoints;
}
defender.HitPoints -= damage;
Console.WriteLine("{0} attacked {1} and did {2} damage", attacker, defender, damage);
}