예제 #1
0
 public bool CanAddDier(Dier dier)
 {
     if (IsRuimte(dier) && !EtenElkaar(dier))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #2
0
        private void AddDieren()
        {
            int[] groottes = new int[3];
            groottes[0] = 1;
            groottes[1] = 3;
            groottes[2] = 5;

            for (int i = 0; i < 1000; i++)
            {
                Dier dierI = new Dier(groottes[_rand.Next(0, 3)], GetRandomBoolean(), "Dier " + Convert.ToString(i));
                _dieren.Add(dierI);
            }
        }
예제 #3
0
 public bool AddDier(Dier dier)
 {
     if (CanAddDier(dier))
     {
         dierenAanBoord.Add(dier);
         onBoard += dier.grootte;
         return(true);
     }
     else
     {
         return(false);
     }
 }
예제 #4
0
 private bool IsRuimte(Dier dier)
 {
     if (onBoard == 10)
     {
         return(false);
     }
     else if (dier.grootte + onBoard > 10)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #5
0
        private bool EtenElkaar(Dier dier)
        {
            //Default
            bool etenelkaar = false;

            //Vergelijkt of het dier niet opgegeten wordt door een dier aanboord
            //en vice versa
            foreach (Dier dierAB in dierenAanBoord)
            {
                //Controleert of het dier aanboord wel of geen vleeseter is
                if (dierAB.isVleeseter || dier.isVleeseter)
                {
                    //Mogen beide geen vleeseters zijn
                    if (dierAB.isVleeseter && dier.isVleeseter)
                    {
                        etenelkaar = true;
                    }
                    //Controleert of een planteneter groter is dan een aanwezige vleeseter
                    else if (dier.grootte > dierAB.grootte && dier.grootte != dierAB.grootte && !dier.isVleeseter)
                    {
                        etenelkaar = false;
                    }
                    else
                    {
                        etenelkaar = true;
                        break;
                    }
                }
                else
                {
                    if (dier.isVleeseter && dierAB.grootte >= dier.grootte)
                    {
                        etenelkaar = true;
                        break;
                    }
                    else
                    {
                        etenelkaar = false;
                    }
                }
            }
            return(etenelkaar);
        }
예제 #6
0
        private void AddDier(Dier dier)
        {
            bool animalIsAdded = false;

            for (int i = 0; i < Treinwagons.Count && !animalIsAdded; i++)
            {
                if (Treinwagons[i].AddDier(dier))
                {
                    animalIsAdded = true;
                }
                else if (i == Treinwagons.Count - 1)
                {
                    Treinwagon newtreinwagon = new Treinwagon(i + 1);
                    Treinwagons.Add(newtreinwagon);
                    Treinwagons[i + 1].AddDier(dier);
                    animalIsAdded = true;
                }
            }
        }