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); } } } }
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++; //// } ////} }
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++; } } }
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++; } } } }
public virtual void Eet(Speelveld eoSpeelveld, Dier dier) { }
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); }