public OrganismManager(Behaviors behaviors, World world, Random ranGen) { this.world = world; this.ranGen = ranGen; readConfig(); maxSpeed = 1.5; defaultGenSize = 30; extinctionCarryOver = 15; this.behaviors = behaviors; genDirectory = "Organisms"; organismTerminate = "[/Organism]"; behaviorsInitiate = "[Behaviors]"; constantsInitiate = "[Constants]"; if(!System.IO.Directory.Exists(genDirectory)) { Directory.CreateDirectory(genDirectory); } if(!File.Exists(genDirectory + "//" + "Organisms.txt")) { List<Organism> defaultOrganisms = new List<Organism>(); //Add 10 random organisms for(int i = 0; i<defaultGenSize;i++) { defaultOrganisms.Add(newRandomOrganism()); } writeOrganismsToFile(defaultOrganisms); } activeOrganisms = new List<Organism>(); deadOrganisms = new List<Organism>(); genOriginals = new List<Organism>(); OnExtinction += OrganismManager_OnExtinction; }
public World() { ranGen = new Random(); worldWidth = 750; worldHeight = 750; worldLiveTime = 0; worldClock = new Timer(); worldClock.Interval = 1; worldClock.Elapsed += worldClock_Elapsed; behaviors = new Behaviors(this); organismManager = new OrganismManager(behaviors, this, ranGen); foodManager = new FoodManager(this, ranGen); worldClock.Start(); }