public void Go(Random random) { Hive.Go(random); for (int i = Bees.Count - 1; i >= 0; i--) { var bee = Bees[i]; bee.Go(random); if (bee.CurrentState == BeeState.Retired) { Bees.Remove(bee); } } var totalNectarHarvested = 0.0; for (int i = Flowers.Count - 1; i >= 0; i--) { var flower = Flowers[i]; flower.Go(); totalNectarHarvested += flower.NectarHarvested; if (!flower.Alive) { Flowers.Remove(flower); } } }
public void Go(Random random) { Hive.Go(random); for (int i = Bees.Count - 1; i >= 0; i--) { Bees[i].Go(random); if (Bees[i].CurrentState == BeeState.Retired) { Bees.Remove(Bees[i]); } } double totalNectarHarvested = 0; for (int i = Flowers.Count - 1; i >= 0; i--) { Flowers[i].Go(); totalNectarHarvested += Flowers[i].NectarHarvested; if (!Flowers[i].Alive) { Flowers.Remove(Flowers[i]); } } if (totalNectarHarvested > NECTARHARVESTEDPERNEWFLOWER) { foreach (Flower flower in Flowers) { flower.NectarHarvested = 0; } AddFlower(random); } }
public void Go(Random random) { Hive.Go(random); for (int i = Bees.Count - 1; i >= 0; i--) { Bee bee = Bees[i]; bee.Go(random); if (bee.CurrentState == BeeState.Retired) { Bees.Remove(bee); } } double totalNectarHarvested = 0; for (int i = Flowers.Count - 1; i >= 0; i--) { Flower flower = Flowers[i]; flower.Go(); totalNectarHarvested += flower.NectarHarvested; if (!flower.Alive) { Flowers.Remove(flower); } } if (totalNectarHarvested > NectarHarvestedPerNewFlower) { foreach (Flower flower in Flowers) { flower.NectarHarvested = 0; } AddFlower(random); } }