Пример #1
0
 public void SetUp()
 {
     _aquarium = new Aquarium(new Size(500, 500));
     _neon1    = new BlueNeon(new PointF(10f, 10f), _defaultFishSize, _aquarium);
     _neon2    = new BlueNeon(new PointF(9f, 9f), _defaultFishSize, _aquarium);
     _neon3    = new BlueNeon(new PointF(8f, 8f), _defaultFishSize, _aquarium);
     _neon4    = new BlueNeon(new PointF(8f, 8.001f), _defaultFishSize, _aquarium);
 }
Пример #2
0
 private void ResetVictim(AFish fish)
 {
     if (Victim == fish)
     {
         Victim.OnDie -= ResetVictim;
         Victim        = null;
     }
 }
Пример #3
0
 public override void OnCollision(AGameObject anotherObject)
 {
     if (anotherObject != Victim || State != FishState.Attack)
     {
         return;
     }
     Victim.Die();
     Victim = null;
 }
Пример #4
0
 private void RunAwayFrom(AFish hunter)
 {
     if (IsLocationInCorner())
     {
         return;
     }
     Direction = new VectorF(Location.X - hunter.Location.X,
                             Location.Y - hunter.Location.Y);
     MoveTo(GetNextPoint());
 }
Пример #5
0
 public void Walking()
 {
     Victim = FindNextVictim();
     if (Victim != null && Randomizer.Success(0.4))
     {
         Victim.OnDie += ResetVictim;
         Speed         = Settings.SwordsMan.MaxSpeed;
         PushState(Attack, FishState.Attack);
         return;
     }
     MoveTo(GetNextPoint());
 }
Пример #6
0
 public void Attack()
 {
     if (Victim == null || !IsVisibility(Victim))
     {
         Speed = Settings.SwordsMan.OfficialSpeed;
         if (Victim != null)
         {
             Victim.OnDie -= ResetVictim;
             Victim        = null;
         }
         PopState();
         return;
     }
     MoveTo(GetVictimNextPoint());
 }
Пример #7
0
        private void Draw(Graphics graph, AFish fish)
        {
            var image = ObjectToImage[fish.GetType()][fish.State];

            graph.DrawImage(image, fish.Rectangle);
        }
Пример #8
0
 public Danger(AFish hunter, bool isDanger)
 {
     IsDanger = isDanger;
     Hunter   = hunter;
 }