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;
        }
示例#2
0
 /// <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));
 }