public void TakeTurn(Monster monster,Target targets)
 {
     var _rnd = new Random();
     if (_rnd.Next(100) < 70)
     {
         monster.Attack(EnumAttacks.LesserHeal, new Target(targets[_rnd.Next(targets.Count())]));
     }
     else
     {
         monster.Attack(EnumAttacks.WeakAttack,new Target(Hero.GetInstance()));
     }
 }
 internal MonsterThread(Monster monster,Target targets)
 {
     _monster = monster;
     _targets = targets;
 }
 internal void EnqueueMonster(Monster monster)
 {
     if (!monster.IsDead)
     {
         lock (this)
         {
             _queue.Enqueue(monster);
         }
     }
     else
     {
         _killThread--;
         _targets.RemoveTarget(monster);
     }
 }
 public void RegisterMonster(Monster monster)
 {
     _monsterQueue.Enqueue(monster);
     _monsterTargets.AddTarget(monster);
 }
 public void TakeTurn(Monster monster,Target targets)
 {
     monster.Attack(new Random().Next(100) < 30 ? EnumAttacks.WeakAttack : EnumAttacks.StrongAttack,
         new Target(Hero.GetInstance()));
 }