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++; //// } ////} }
static void DoTerrateam() { // do some Console stuff Console.BackgroundColor = ConsoleColor.Black; Console.CursorVisible = false; Console.Clear(); // Console.SetWindowSize(cnGrootteY+1, cnGrootteX+1); //Console.SetBufferSize(cnGrootteY+1, cnGrootteX+1); // create speelveld and additional data Random rnd = new Random(); Speelveld speelveld = new Speelveld(cnGrootteY, cnGrootteX, cnDisplayModel); int rndspeelveld = speelveld.GrootteX * speelveld.GrootteY; int rndspeelveld1 = speelveld.GrootteX + speelveld.GrootteY; int rndValuePlant = (cnGrootteX + cnGrootteY) / 2; int rndValueherbivoor = (cnGrootteX + cnGrootteY) / 2; int rndValueCarnivoor = cnGrootteX + cnGrootteY; int rndValueMens = cnGrootteX + cnGrootteY; ////////int rndValuePlant = rnd.Next(1, ((rndspeelveld / rndspeelveld1) / 5)+1); ////////int rndValueherbivoor = rnd.Next(1, ((rndspeelveld / rndspeelveld1) / 4)+1); ////////int rndValueCarnivoor = rnd.Next(1, ((rndspeelveld / rndspeelveld1) / 4)+1); ////////int rndValueMens = rnd.Next(1, ((rndspeelveld / rndspeelveld1) / 4)+1); List <Plant> planten = Plant.CreatePlanten(rndValuePlant); speelveld.AddPlantenToSpeelveld(planten); List <Herbivoor> herbivoren = Herbivoor.CreateHerbivoren(rnd.Next(1, rndValueherbivoor)); speelveld.AddHerbivorenToSpeelveld(herbivoren); List <Carnivoor> carnivoren = Carnivoor.CreateCarnivoren(rnd.Next(1, rndValueCarnivoor)); speelveld.AddCarnivorenToSpeelveld(carnivoren); List <Mens> mensen = Mens.CreateMensen(rnd.Next(1, rndValueMens)); speelveld.AddMensenToSpeelveld(mensen); speelveld.ToonSpeelveld();; while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape)) { int lnReturn = speelveld.DoActionsOf1Day(mensen, carnivoren, herbivoren, planten); speelveld.ToonSpeelveld(); speelveld.ResetAllStappen(herbivoren, carnivoren); speelveld.RemoveDeletedCarnivoren(ref carnivoren); speelveld.RemoveDeletedHerbivoren(ref herbivoren); speelveld.RemoveDeletedMensen(ref mensen); if (lnReturn == -1) { break; // stop while loop } } Console.CursorVisible = true; }
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 void Stap(int Xpos, int Ypos, Speelveld eoSpeelveld) { eoSpeelveld.Terrarium[this.PosX, this.PosY] = null; this.PosX += Xpos; this.PosY += Ypos; eoSpeelveld.Terrarium[this.PosX, this.PosY] = this; }
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 Herbivoor PlantVoort(Speelveld eoSpeelveld, List <Herbivoor> eaHerbivoren) { if (this.TotAantStappen <= 0) { Random rnd = new Random(); int flip = rnd.Next(1, 10); // 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)) { if (flip == 1 || true) // tricky!!!! { List <Herbivoor> laHerbivoren = CreateHerbivoren(1); this.TotAantStappen++; return(laHerbivoren[0]); } } } return(null); }
static void DoTest3() { Console.Clear(); // test 1 Speelveld speelveld = new Speelveld(3, 3, 0); // . . . // . . . // . . . List <Plant> planten = Plant.CreatePlanten(1); planten[0].PosX = 2; planten[0].PosY = 1; speelveld.AddPlantenToSpeelveld(planten, true); // . . . // . . . // P H . List <Herbivoor> herbivoren = Herbivoor.CreateHerbivoren(4); herbivoren[0].PosX = 0; herbivoren[0].PosY = 1; //herbivoren[1].PosX = 0; //herbivoren[1].PosY = 2; herbivoren[1].PosX = 1; herbivoren[1].PosY = 0; herbivoren[2].PosX = 1; herbivoren[2].PosY = 2; herbivoren[3].PosX = 2; herbivoren[3].PosY = 1; speelveld.AddHerbivorenToSpeelveld(herbivoren, true); // . H . // H . H // P H . List <Carnivoor> carnivoren = Carnivoor.CreateCarnivoren(3); carnivoren[0].PosX = 0; carnivoren[0].PosY = 0; carnivoren[1].PosX = 1; carnivoren[1].PosY = 1; carnivoren[2].PosX = 2; carnivoren[2].PosY = 2; speelveld.AddCarnivorenToSpeelveld(carnivoren, true); // C H . // H C H // H P C List <Mens> mensen = Mens.CreateMensen(1); mensen[0].PosX = 0; mensen[0].PosY = 2; speelveld.AddMensenToSpeelveld(mensen, true); speelveld.DoActionsOf1Day(mensen, carnivoren, herbivoren, planten, 10); Console.WriteLine("Press a key"); Console.ReadLine(); }
static void DoTest1() { Console.Clear(); // test 1 Speelveld speelveld = new Speelveld(3, 3, 0); // . . . // . . . // . . . List <Plant> planten = Plant.CreatePlanten(2); planten[0].PosX = 1; planten[0].PosY = 2; planten[1].PosX = 2; planten[1].PosY = 1; speelveld.AddPlantenToSpeelveld(planten, true); // . . . // . . P // . P . List <Herbivoor> herbivoren = Herbivoor.CreateHerbivoren(2); herbivoren[0].PosX = 0; herbivoren[0].PosY = 1; herbivoren[1].PosX = 2; herbivoren[1].PosY = 0; speelveld.AddHerbivorenToSpeelveld(herbivoren, true); // . H . // . . P // H P . List <Carnivoor> carnivoren = Carnivoor.CreateCarnivoren(2); carnivoren[0].PosX = 0; carnivoren[0].PosY = 0; carnivoren[1].Levenskracht = 10; carnivoren[1].PosX = 1; carnivoren[1].PosY = 1; carnivoren[1].Levenskracht = 10; //carnivoren[1].PosX = 1; //carnivoren[1].PosY = 0; //carnivoren[1].Levenskracht = 10; speelveld.AddCarnivorenToSpeelveld(carnivoren, true); // C H . // . C P // H P . List <Mens> mensen = Mens.CreateMensen(2); mensen[0].PosX = 1; mensen[0].PosY = 0; mensen[0].Levenskracht = 10; mensen[1].PosX = 1; mensen[1].PosY = 1; mensen[1].Levenskracht = 15; speelveld.AddMensenToSpeelveld(mensen, true); // C H . // M C P // H P M speelveld.DoActionsOf1Day(mensen, carnivoren, herbivoren, planten, 10); Console.WriteLine("Press a key"); Console.ReadLine(); }
/// <summary> /// Mag enkel bewegen indien de bestemming "." is. /// </summary> /// <param name="Beweeg"></param> public void Beweeg(Speelveld eoSpeelveld) { if (this.TotAantStappen <= 0) { Random rnd = new Random(); for (int teller = 1; teller <= 100; teller++) { int stap = rnd.Next(1, 5); int x = 0; int y = 0; //if (PosX + 1 >= eoSpeelveld.GrootteX || eoSpeelveld.Terrarium[PosX + 1, PosY] == null) { switch (stap) { case 1: x = 1; y = 0; if (PosX + 1 > eoSpeelveld.GrootteX) { x = 0; } break; case 2: x = 0; y = 1; if (PosY + 1 > eoSpeelveld.GrootteY) { y = 0; } break; case 3: x = -1; y = 0; if (PosX - 1 < 0) { x = 0; } break; case 4: x = 0; y = -1; if (PosY - 1 < 0) { y = 0; } break; default: break; } if (PosX + x < eoSpeelveld.GrootteX && PosY + y < eoSpeelveld.GrootteY) { if (eoSpeelveld.Terrarium[PosX + x, PosY + y] == null || eoSpeelveld.Terrarium[PosX + x, PosY + y].GetType() == typeof(Plant)) { Stap(x, y, eoSpeelveld); break; //ga uit de loop } } } } } }
public virtual void Eet(Speelveld eoSpeelveld, Dier dier) { }
public void Earthquake(ref List <Mens> eoMensen, ref List <Carnivoor> eoCarnivoren, ref List <Herbivoor> eoHerbivoren, ref List <Plant> eoPlanten, Speelveld eoSpeelveld) { Random rnd = new Random(); int extremeX = eoSpeelveld.GrootteX; int extremeY = eoSpeelveld.GrootteY; int centrepointX = rnd.Next(0, extremeX); int centrepointY = rnd.Next(0, extremeY); int grootteBeving = (((extremeX * extremeY) / (extremeX + extremeY)) / 2); int diagonaalBeving = (grootteBeving * 2) + 1; // Dient altijd oneven te zijn; int bevingMinX = 0 - ((diagonaalBeving - 1) / 2); int bevingMaxX = ((diagonaalBeving - 1) / 2); int bevingMinY = bevingMinX; int bevingMaxY = bevingMaxX; for (int i = bevingMinX; i <= bevingMaxX; i++) { for (int j = bevingMinY; j <= bevingMaxY; j++) { if ((centrepointY + j < extremeY - 1) && (centrepointX + i < extremeX - 1) && (centrepointY + j >= 0) && (centrepointX + i >= 0)) { if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j] != null) { if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Carnivoor)) { ((Carnivoor)eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j]).Beweeg(eoSpeelveld); //this.RemoveDeletedCarnivoren(ref eoCarnivoren); } else if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Herbivoor)) { ((Herbivoor)eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j]).Beweeg(eoSpeelveld); } else if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Mens)) { ((Mens)eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j]).Beweeg(eoSpeelveld); } else if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Plant)) { eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].Delete(); } this.Terrarium[centrepointX + i, centrepointY + j] = null; } } } } this.RemoveDeletedPlanten(ref eoPlanten); }
public void Volcano(ref List <Mens> eoMensen, ref List <Carnivoor> eoCarnivoren, ref List <Herbivoor> eoHerbivoren, ref List <Plant> eoPlanten, Speelveld eoSpeelveld) { Random rnd = new Random(); int extremeX = eoSpeelveld.GrootteX; int extremeY = eoSpeelveld.GrootteY; int centrepointX = rnd.Next(0, extremeX); int centrepointY = rnd.Next(0, extremeY); int grootteUitb = (((extremeX * extremeY) / (extremeX + extremeY)) / 2); int diagonaalUitbarsting = (grootteUitb * 2) + 1; // Dient altijd oneven te zijn; int vulkaanMinX = 0 - ((diagonaalUitbarsting - 1) / 2); int vulkaanMaxX = ((diagonaalUitbarsting - 1) / 2); int vulkaanMinY = vulkaanMinX; int vulkaanMaxY = vulkaanMaxX; for (int i = vulkaanMinX; i <= vulkaanMaxX; i++) { for (int j = vulkaanMinY; j <= vulkaanMaxY; j++) { if ((centrepointY + j < extremeY - 1) && (centrepointX + i < extremeX - 1) && (centrepointY + j >= 0) && (centrepointX + i >= 0)) { if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j] != null) { if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Carnivoor)) { eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].Delete(); } if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Herbivoor)) { eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].Delete(); } if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Mens)) { eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].Delete(); } if (eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].GetType() == typeof(Plant)) { eoSpeelveld.Terrarium[centrepointX + i, centrepointY + j].Delete(); } this.Terrarium[centrepointX + i, centrepointY + j] = null; } } } } this.RemoveDeletedCarnivoren(ref eoCarnivoren); this.RemoveDeletedHerbivoren(ref eoHerbivoren); this.RemoveDeletedMensen(ref eoMensen); this.RemoveDeletedPlanten(ref eoPlanten); }