private void centerToolStripMenuItem2_Click(object sender, EventArgs e) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Make sure the sim isn't null if (Sim == null) Sim = new AutoSim(Size); //Re-seed the simulation Sim.Grid = Simulation.GetBlankGrid(Size); int centerval = Sim.Grid.Length / 2; Sim.Grid[centerval][centerval] = true; Sim.Grid[centerval][centerval - 1] = true; Sim.Grid[centerval][centerval + 1] = true; Sim.Grid[centerval + 1][centerval] = true; Sim.Grid[centerval - 1][centerval] = true; Sim.Grid[centerval - 1][centerval - 1] = true; Sim.Grid[centerval + 1][centerval + 1] = true; Sim.Grid[centerval + 1][centerval - 1] = true; Sim.Grid[centerval - 1][centerval + 1] = true; //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void tRUERANDToolStripMenuItem_Click(object sender, EventArgs e) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Create a new autosim Sim = new AutoSim(Size, Simulation.GenerateRandomDouble(0.1, 0.9)); Sim.SearchRadius = Simulation.RandomGen.Next(1, 10); Sim.OvercrowdingCount = Simulation.RandomGen.Next(1, (Sim.SearchRadius * 2) * (Sim.SearchRadius * 2)); Sim.DeathCount = Simulation.RandomGen.Next(1, (Sim.SearchRadius * 2) * (Sim.SearchRadius * 2)); Sim.BirthCount = Simulation.RandomGen.Next(1, (Sim.SearchRadius * 2) * (Sim.SearchRadius * 2)); int roll = Simulation.RandomGen.Next(0, 5); if (roll == 0) Sim.NeighborSearchAlgorithm = NeighborType.Moore; if (roll == 1) Sim.NeighborSearchAlgorithm = NeighborType.Neumann; if (roll == 2) Sim.NeighborSearchAlgorithm = NeighborType.Totty; if (roll == 3) Sim.NeighborSearchAlgorithm = NeighborType.Diagonal; if (roll == 4) Sim.NeighborSearchAlgorithm = NeighborType.AntiDiagonal; //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void StartButton_Click(object sender, EventArgs e) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Create a new autosim Sim = new AutoSim(Size, 0.7); //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void sR3DC4OC7ToolStripMenuItem_Click(object sender, EventArgs e) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Create a new autosim Sim = new AutoSim(Size, 0.7); Sim.SearchRadius = 3; Sim.OvercrowdingCount = 13; Sim.BirthCount = 4; //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void ReSeedSim(double SeedVal) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Make sure the sim isn't null if (Sim == null) Sim = new AutoSim(Size); //Re-seed the simulation Sim.Grid = Simulation.SeedSimulation(Size, SeedVal); //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void randomTottyToolStripMenuItem_Click(object sender, EventArgs e) { //Stop the sim if it's running if (UpdateTimer.Enabled) UpdateTimer.Stop(); //Create a new autosim Sim = new AutoSim(Size, Simulation.GenerateRandomDouble(0.1, 0.9)); Sim.SearchRadius = Simulation.RandomGen.Next(2, 4); Sim.OvercrowdingCount = Simulation.RandomGen.Next(1, (Sim.SearchRadius * 2) * (Sim.SearchRadius * 2)); Sim.DeathCount = Simulation.RandomGen.Next(1, Sim.OvercrowdingCount + 1); Sim.BirthCount = Simulation.RandomGen.Next(1, Sim.OvercrowdingCount + 1); Sim.NeighborSearchAlgorithm = NeighborType.Totty; //Scale the grid ScaleGrid(); //Reset the generation count GenerationCount = 0; //Start the timer UpdateTimer.Start(); }
private void OFD_RuleSet_FileOk(object sender, CancelEventArgs e) { //Load the file to memory SerializableRuleSet Rules = Serialization.DeserializeObject<SerializableRuleSet>(OFD_RuleSet.FileName); //Create a new sim Sim = new AutoSim(Size); //Copy over the rule information Sim.BirthCount = Rules.BirthCount; Sim.DeathCount = Rules.DeathCount; Sim.OvercrowdingCount = Rules.OvercrowdingCount; Sim.SearchRadius = Rules.SearchRadius; Sim.NeighborSearchAlgorithm = Rules.NeighborSearchAlgorithm; //Now re-seed the simulation Sim.Grid = Simulation.SeedSimulation(Size, 0.7); MessageBox.Show("Automaton simulation ruleset successfully loaded...", "Load Successful!", MessageBoxButtons.OK); GenerationCount = 0; UpdateTimer.Start(); }
private void OFD_AutoSim_FileOk(object sender, CancelEventArgs e) { //Load the file to memory Sim = Serialization.DeserializeObject<AutoSim>(OFD_AutoSim.FileName); MessageBox.Show("Automaton simulation successfully loaded...", "Load Successful!", MessageBoxButtons.OK); GenerationCount = 0; UpdateTimer.Start(); }