public bool EatsOther(Germ germ) { if (this.Eats == germ.Name) { if (this.Age > 0) { --this.Age; } return(true); } return(false); }
public void PlaceGerm(int Y, int X, Germ germ) { world[Y, X] = germ; }
private void GermDivide(int Y, int X, Germ germ) { // if it has no room it dies. bool growth = false; //Binaryfission Random rnd = new Random(); int DivideNumber = rnd.Next(germ.Binaryfission); if (DivideNumber % 2 == 0) { if (X != 0 && X != world.GetLength(0) - 1) { //Left 4 if (world[Y, X - 1] is NoGerm && world[Y, X].Age > 1) { Germ gerrmy = new Germ(germ.Name); world[Y, X - 1] = gerrmy; growth = true; } //Right 6 if (world[Y, X + 1] is NoGerm && world[Y, X].Age > 1) { Germ gerrmy = new Germ(germ.Name); world[Y, X + 1] = gerrmy; growth = true; } if (world[Y, X].EatsDeadBacteria == true) { // left 4 Eat if (world[Y, X - 1] is DeadGerm && world[Y, X].Age > world[Y, X].Age / 2) { if (world[Y, X].Age >= 1) { world[Y, X].Age--; } NoGerm gerrmy = new NoGerm("--"); world[Y, X - 1] = gerrmy; growth = true; } // right 6 Eat if (world[Y, X + 1] is DeadGerm && world[Y, X].Age > world[Y, X].Age / 2) { if (world[Y, X].Age >= 1) { world[Y, X].Age--; } NoGerm gerrmy = new NoGerm("--"); world[Y, X + 1] = gerrmy; growth = true; } } } } else { if (Y != 0 && Y != world.GetLength(0) - 1) { // Up 8 if (world[Y - 1, X] is NoGerm && world[Y, X].Age > 1) { Germ gerrmy = new Germ(germ.Name); world[Y - 1, X] = gerrmy; growth = true; } // Down 2 if (world[Y + 1, X] is NoGerm && world[Y, X].Age > 1) { Germ gerrmy = new Germ(germ.Name); world[Y + 1, X] = gerrmy; growth = true; } if (world[Y, X].EatsDeadBacteria == true) { // Up 8 eat if (world[Y - 1, X] is DeadGerm && world[Y, X].Age > world[Y, X].Age / 2) { if (world[Y, X].Age >= 1) { world[Y, X].Age--; } NoGerm gerrmy = new NoGerm("--"); world[Y - 1, X] = gerrmy; growth = true; } // Down 2 eat if (world[Y + 1, X] is DeadGerm && world[Y, X].Age > world[Y, X].Age / 2) { if (world[Y, X].Age >= 1) { world[Y, X].Age--; } NoGerm gerrmy = new NoGerm("--"); world[Y + 1, X] = gerrmy; growth = true; } } } } if (growth == false && germ.Age > 1) { germ.Age = germ.MaxAge; } }
public void PlaceGerm(int Y, int X, string name) { Germ germ = new Germ(name); world[Y, X] = germ; }