private void timer_Tick(object sender, EventArgs e) { bool[,] nextUniverseState = Life.Universe.GetNextState(Universe); Universe = null; Universe = nextUniverseState; var visualHost = new UniverseGridVisualHost(Universe, (int)CanvasUniverse.Width, (int)CanvasUniverse.Height); CanvasUniverse.Children.Clear(); CanvasUniverse.Children.Add(visualHost); Generation++; LabelGeneration.Content = $"Generation: {Generation.ToString()}"; CanvasUniverse.UpdateLayout(); }
public MainWindow() { InitializeComponent(); Universe = Life.Universe.GetRandomState(50, 50); var visualHost = new UniverseGridVisualHost(Universe, (int)CanvasUniverse.Width, (int)CanvasUniverse.Height); CanvasUniverse.Children.Add(visualHost); Generation = 0; LabelGeneration.Content = $"Generation: {Generation.ToString()}"; Timer = new DispatcherTimer(); Timer.Interval = TimeSpan.FromMilliseconds(200); Timer.Tick += timer_Tick; }