Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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;
        }