void Start() { world = new World(worldWidth, worldHeight); world.CreateWorld(); poblation = new Poblation(individualGO); for (int i = 0; i < 1; i++) { poblation.CreateIndividual(world.GetRandomWalkableTile(), worldWidth, worldHeight); } food = new FoodManager(foodGO); ConfigCamera(); InvokeRepeating("IncreaseHunger", 0.5f, 1.0f); }
public static Poblation GenerateGroup(int Size, int IndividualSize) { Poblation Group = new Poblation(); int i = 0; int Max = Size; for (i = 0; i <= Max; i++) { Individual newIndividual = new Individual(string.Format("Individual_{0}", i)); newIndividual.Genomma = RandString(IndividualSize); Group.Add(newIndividual); } return(Group); }
public static void Main() { Console.WriteLine("Write a text to generate"); OptimalResult = Console.ReadLine().ToUpper(); Poblation MyGroup = GenerateGroup(300, OptimalResult.Length); bool HasResult = false; Individual Winner = null; System.Diagnostics.Stopwatch StopWatch = new System.Diagnostics.Stopwatch(); StopWatch.Start(); while (HasResult == false) { MyGroup.RemoveBadCandidats(OptimalResult); MyGroup.GenerateChanges(OptimalResult); foreach (Individual item in MyGroup) { Console.WriteLine("{0}: Level:{1}, Genomma:{2}", item.Name, item.Evaluate(OptimalResult), item.GenommaString); if (item.Evaluate(OptimalResult) == OptimalResult.Length | MyGroup.Count <= 1) { HasResult = true; Winner = item; StopWatch.Stop(); break; // TODO: might not be correct. Was : Exit For } } } Console.WriteLine("Hello, my name is {0} and i got this result: {1}", Winner.Name, Winner.GenommaString); Console.WriteLine("My brothers: "); dynamic query = from item in MyGroup where item.GenommaString == Winner.GenommaStringitem; foreach (Individual item in query) { Console.WriteLine("My name is {0} and my genomma is {1}", item.Name, item.GenommaString); } Console.WriteLine("Elapsed {0}", StopWatch.ElapsedMilliseconds); Console.ReadLine(); }