Пример #1
0
 public void CollisionDetection(Dier dier)
 {
     for (int i = 0; i < this.Count; i++)
     {
         if (dier.Id != this[i].Id)
         {
             dier.IsBotsing(this[i]);
         }
     }
 }
Пример #2
0
 private void _levensKlok_Tick(object sender, EventArgs e)
 {
     for (int i = 0; i < this.Count; i++)
     {
         Dier dier = this[i].ToDier();
         if (dier != null)
         {
             dier.Beweeg();
             CollisionDetection(dier);
         }
     }
 }
Пример #3
0
        public override void Eet(Leven leven)
        {
            bool eet = false;

            if (leven.IsDier)
            {
                // Grotere dieren worden niet opgegeten:
                Dier prooidier = (Dier)leven;
                if (prooidier.GewichtMaximaal > this.GewichtMaximaal)
                {
                    SnelheidObject = SnelheidObject.KeerOm();
                }
                else
                {
                    eet = true;
                }
            }
            else if (leven.IsPlant)
            {
                // Wat doet een alleseter met giftige planten?
                if (WordtVergiftigdDoor.Contains(leven.NederlandseNaam))
                {
                    if (Honger())
                    {
                        this.Sterf();
                        leven.Sterf();
                    }
                    else
                    {
                        // Als de plant niet eetbaar is, keer dan om:
                        SnelheidObject = SnelheidObject.KeerOm();
                    }
                }
                else
                {
                    eet = true;
                }
            }
            // Alles wat niet giftig of te groot wordt opgegeten,
            // tenminste als er nog plek is:
            if (eet == true)
            {
                if ((MaagGevuld < 100))
                {
                    MaagGevuld = MaagGevuld + leven.Voedingswaarde;
                    leven.Sterf();
                }
                else
                {
                    SnelheidObject = SnelheidObject.KeerOm();
                }
            }
        }
Пример #4
0
        public bool IsBotsing(Leven leven)
        {
            if (this.Tekengebied.Overlap(leven.Tekengebied))
            {
                Dier dier = leven.ToDier();
                if (dier != null)
                {
                    this.SnelheidObject = this.SnelheidObject.KeerOm();
                    dier.SnelheidObject = dier.SnelheidObject.KeerOm();
                }
                Eet(leven);

                return(true);
            }
            return(false);
        }
Пример #5
0
 public override void Eet(Leven leven)
 {
     // de vleeseter eet alleen maar andere dieren die kleiner zijn
     if (leven.IsDier)
     {
         // Grotere dieren worden niet opgegeten:
         Dier prooidier = (Dier)leven;
         if (prooidier.GewichtMaximaal > this.GewichtMaximaal)
         {
             SnelheidObject = SnelheidObject.KeerOm();
         }
         // Als er plek is in zijn maag, eet het dier een ander dier op:
         else if (MaagGevuld < 100)
         {
             MaagGevuld = MaagGevuld + leven.Voedingswaarde;
             leven.Sterf();
         }
     }
     // Als het leven geen dier is keert de vleeseter om.
     else
     {
         SnelheidObject = SnelheidObject.KeerOm();
     }
 }