public List<Generation> GetHistoryBatch(int startGeneration, int endGeneration) { var universe = new Universe(GetLatestHistory()); int generationNumber = 0; List<Generation> historyBatch = new List<Generation>(); while (generationNumber <= endGeneration) { if (generationNumber >= startGeneration) { historyBatch.Add(new Generation() { Cells = HsToList(universe.CurrentGenCells), GenerationNumber = generationNumber }); } universe.PopulateNextGen(false); generationNumber += 1; } return historyBatch; }
public static Universe Start(List<Cell> seed = null, int generation = 0) { if (seed != null) StartSeed = seed; else { StartSeed = Seeds.RPentomino; //StartSeed.AddRange(Seeds.Stairs); //StartSeed.AddRange(Seeds.Toad); //StartSeed.AddRange(Seeds.RPentomino2); //StartSeed.AddRange(Seeds.Stairs2); } Generation = generation; var universe = new Universe(StartSeed); universe.Running = true; //universe.Run(); var thread = new Thread(() => universe.Run()); thread.Start(); return universe; }