Beispiel #1
0
        public override void Vecht(Speelveld eoSpeelveld, Dier dier)
        {
            if (this.TotAantStappen <= 0)
            {
                //Dier dier = null;

                //if ((PosY + 1 < eoSpeelveld.GrootteY)
                //    && (eoSpeelveld.Terrarium[PosX,PosY+1]!=null)
                //    && (eoSpeelveld.Terrarium[PosX, PosY + 1].GetType() == typeof(Dier)))
                //{
                //    dier = (Dier)eoSpeelveld.Terrarium[PosX, PosY + 1];
                //}

                // test if the animal at the right position is a carnivoor
                if (dier != null && dier.GetType() == typeof(Carnivoor))
                {
                    if (this.Levenskracht > dier.Levenskracht)
                    {
                        this.Eet(eoSpeelveld, dier);
                    }
                    else if (this.Levenskracht < dier.Levenskracht)
                    {
                        // add the levenskracht of the carnivoor with the carnivoor
                        dier.Levenskracht += this.Levenskracht;
                        // remove the current carnivoor
                        this.Delete();
                        eoSpeelveld.Terrarium[PosX, PosY] = null;   // todo: move this to the delete() of the carnivoor
                    }
                    else
                    {
                        this.Eet(eoSpeelveld, dier);
                    }
                }
            }
        }
Beispiel #2
0
        public override void Eet(Speelveld eoSpeelveld, Dier dier)
        {
            if (this.TotAantStappen <= 0)
            {
                if (dier != null)
                {
                    // add the levenskracht of the herbivoor with the carnivoor
                    this.Levenskracht += dier.Levenskracht;
                    // remove the herbivoor
                    dier.Delete();
                    dier = null;   // todo: move this to the delete() of the carnivoor
                    Stap(0, 1, eoSpeelveld);
                    this.TotAantStappen++;
                }
            }

            ////{
            ////    // test if the animal at the right position is a herbivoor
            ////    if (PosY + 1 < eoSpeelveld.GrootteY &&
            ////        eoSpeelveld.Terrarium[PosX, PosY + 1] != null &&
            ////        eoSpeelveld.Terrarium[PosX, PosY + 1].GetType() == typeof(Herbivoor))
            ////    {
            ////        // add the levenskracht of the herbivoor with the carnivoor
            ////        this.Levenskracht += eoSpeelveld.Terrarium[PosX, PosY + 1].Levenskracht;
            ////        // remove the herbivoor
            ////        eoSpeelveld.Terrarium[PosX, PosY + 1].Delete();
            ////        eoSpeelveld.Terrarium[PosX, PosY + 1] = null;   // todo: move this to the delete() of the carnivoor
            ////        Stap(0, 1, eoSpeelveld);
            ////        this.TotAantStappen++;
            ////    }
            ////}
        }
Beispiel #3
0
 public override void Eet(Speelveld eoSpeelveld, Dier dier)
 {
     if (this.TotAantStappen <= 0)
     {
         // test if the animal at the right position is a plant
         if (PosY + 1 < eoSpeelveld.GrootteY &&
             eoSpeelveld.Terrarium[PosX, PosY + 1] != null &&
             eoSpeelveld.Terrarium[PosX, PosY + 1].GetType() == typeof(Plant))
         {
             // add the levenskracht of the herbivoor with the carnivoor
             this.Levenskracht++;
             // remove the plant
             ((Plant)eoSpeelveld.Terrarium[PosX, PosY + 1]).Delete();
             eoSpeelveld.Terrarium[PosX, PosY + 1] = null;   // todo: move this to the delete() of the herbivoor
             Stap(0, 1, eoSpeelveld);
             this.TotAantStappen++;
         }
     }
 }
Beispiel #4
0
 public override void Eet(Speelveld eoSpeelveld, Dier dier)
 {
     if (this.TotAantStappen <= 0)
     {
         if (dier != null)
         {
             if (dier.GetType() == typeof(Carnivoor))
             {
                 // add the levenskracht of the herbivoor with the carnivoor
                 this.Levenskracht += dier.Levenskracht;
                 // remove the herbivoor
                 dier.Delete();
                 dier = null;   // todo: move this to the delete() of the carnivoor
                 Stap(0, 1, eoSpeelveld);
                 this.TotAantStappen++;
             }
         }
     }
 }
Beispiel #5
0
 public virtual void Eet(Speelveld eoSpeelveld, Dier dier)
 {
 }
Beispiel #6
0
        public int DoActionsOf1Day(List <Mens> mensen, List <Carnivoor> carnivoren, List <Herbivoor> herbivoren, List <Plant> planten, int enOffsetX = 0)
        {
            vandaagVal++;
            foreach (Mens m in mensen)
            {
                m.Levenskracht--;
                if (m.Levenskracht <= 0)
                {
                    m.Delete();
                    this.Terrarium[m.PosX, m.PosY] = null;
                }
            }

            foreach (Herbivoor h in herbivoren)
            {
                h.Levenskracht--;
                if (h.Levenskracht <= 0)
                {
                    h.Delete();
                    this.Terrarium[h.PosX, h.PosY] = null;
                }
            }
            foreach (Carnivoor c in carnivoren)
            {
                c.Levenskracht--;
                if (c.Levenskracht <= 0)
                {
                    c.Delete();
                    this.Terrarium[c.PosX, c.PosY] = null;
                }
            }

            foreach (Plant p in planten)
            {
                p.Levenskracht--;
                if (p.Levenskracht <= 0)
                {
                    p.Delete();
                    this.Terrarium[p.PosX, p.PosY] = null;
                }
            }

            int lnOffset = 0;

            for (int i = 0; i <= this.CountAmounOfCarnivorenInSpeelveld(); i++)
            {
            }

            this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Start");
            lnOffset++;

            List <Herbivoor> nieuweherbivoren = new List <Herbivoor>();

            /////////////////////////////////////////////////
            // carnivoren business
            /////////////////////////////////////////////////
            foreach (Carnivoor C in carnivoren)
            {
                if (!C.IsDeleted)
                {
                    Dier dier = null;

                    if ((C.PosY + 1 < this.GrootteY) &&
                        (this.Terrarium[C.PosX, C.PosY + 1] != null) &&
                        (this.Terrarium[C.PosX, C.PosY + 1].GetType() == typeof(Dier)))
                    {
                        dier = (Dier)this.Terrarium[C.PosX, C.PosY + 1];
                    }

                    C.Eet(this, dier);
                    C.Vecht(this, dier);
                    C.Beweeg(this);

                    this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Carni");
                    lnOffset++;
                }
            }

            /////////////////////////////////////////////////
            // herbivoren business
            /////////////////////////////////////////////////
            foreach (Herbivoor H in herbivoren)
            {
                if (!H.IsDeleted)
                {
                    Dier dier = null;

                    if ((H.PosY + 1 < this.GrootteY) &&
                        (this.Terrarium[H.PosX, H.PosY + 1] != null) &&
                        (this.Terrarium[H.PosX, H.PosY + 1].GetType() == typeof(Dier)))
                    {
                        dier = (Dier)this.Terrarium[H.PosX, H.PosY + 1];
                    }

                    H.Eet(this, dier);
                    H.Beweeg(this);
                    Herbivoor nieuweherbivoor = H.PlantVoort(this, herbivoren);
                    if (nieuweherbivoor != null)
                    {
                        nieuweherbivoren.Add(nieuweherbivoor);
                    }
                    this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Herbi");
                    lnOffset++;
                }
            }

            this.AddHerbivorenToSpeelveld(nieuweherbivoren);
            if (nieuweherbivoren != null)
            {
                foreach (Herbivoor Dier in nieuweherbivoren)
                {
                    herbivoren.Add(Dier);
                }
            }
            this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Paren");
            lnOffset++;

            /////////////////////////////////////////////////
            // mensen business
            /////////////////////////////////////////////////
            foreach (Mens M in mensen)
            {
                if (!M.IsDeleted)
                {
                    Dier dier = null;

                    if ((M.PosY + 1 < this.GrootteY) &&
                        (this.Terrarium[M.PosX, M.PosY + 1] != null) &&
                        (this.Terrarium[M.PosX, M.PosY + 1].GetType() == typeof(Dier)))
                    {
                        dier = (Dier)this.Terrarium[M.PosX, M.PosY + 1];
                    }

                    M.Vecht(this, dier);
                    M.Eet(this, dier);
                    M.Beweeg(this);
                    this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Mens");
                    lnOffset++;
                }
            }

            /////////////////////////////////////////////////
            // planten business
            /////////////////////////////////////////////////
            List <Plant> nieuweplanten = Plant.CreatePlanten((this.GrootteX * this.GrootteY) / (this.GrootteX + this.GrootteY));

            this.AddPlantenToSpeelveld(nieuweplanten);
            foreach (var plant in nieuweplanten)
            {
                planten.Add(plant);
            }
            this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Plant");
            lnOffset++;
            //Console.ReadLine();
            //Thread.Sleep(500);
            //Console.ReadLine();

            /////////////////////////////////////////////////
            // input business
            /////////////////////////////////////////////////
            System.IO.Directory.CreateDirectory("c:\\Temp\\");
            string lcFilename = "c:\\Temp\\TerrariumSettings.txt";
            int    lnReturn   = 0;

            Console.WriteLine("[Enter] Volgende dag, (B)ewaar, (L)ees, (V)ulkaan, (A)ardbeving,  (S)top");
            string lcInput = Console.ReadLine().ToLower();

            switch (lcInput)
            {
            case "b":
                this.SaveSpeelveld(lcFilename, mensen, carnivoren, herbivoren, planten);
                break;

            case "l":
                this.LoadSpeelveld(lcFilename, ref mensen, ref carnivoren, ref herbivoren, ref planten);
                break;

            case "v":
                this.Volcano(ref mensen, ref carnivoren, ref herbivoren, ref planten, this);
                this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Vulcano");
                break;

            case "a":
                this.Earthquake(ref mensen, ref carnivoren, ref herbivoren, ref planten, this);
                this.ToonSpeelveld(enOffsetX * lnOffset, 0, "Earthquake");
                break;

            case "s":
                lnReturn = -1;
                break;
            }

            return(lnReturn);
        }