public void Fight(IMonster monster) { var damageToMonster = rnd.Next(AttackPoints) - rnd.Next(monster.DefensePoints); if(damageToMonster > 0) monster.TakeHit(damageToMonster); if (monster.IsDead) { Gold += monster.Gold; return; } var damageToCharacter = rnd.Next(monster.AttackPoints) - rnd.Next(DefensePoints); if(damageToCharacter > 0) Health -= damageToCharacter; }
/// <summary> /// Hits a monster lowering its health taking into consideration armor penetration and monster armor. /// </summary> /// <param name="monster">The monster taking the hit.</param> /// <returns>The amount of damage done to the monster.</returns> public double Hit(IMonster monster) { return(monster.TakeHit(this.Weapon)); }