Пример #1
0
        public MainWindow()
        {
            InitializeComponent();

            Task.Run(
                async() =>
            {
                var gameState      = new BooleanArrayGameState();
                using var renderer = new GameStateRenderer();

                gameState.SetIsAlive(4, 4, true);
                gameState.SetIsAlive(5, 4, true);
                gameState.SetIsAlive(6, 4, true);
                gameState.SetIsAlive(6, 5, true);
                gameState.SetIsAlive(5, 6, true);

                while (true)                         // TODO: play, pause, fps control, etc, etc
                {
                    var bitmapSource = renderer.Render(gameState);
                    Dispatcher.Invoke(() => RenderImage.Source = bitmapSource);

                    gameState.Advance();
                    await Task.Delay(TimeSpan.FromMilliseconds(16));
                }

                // ReSharper disable once FunctionNeverReturns
            }
                );
        }
Пример #2
0
        private static void Main(String[] args)
        {
            var state = new BooleanArrayGameState();

            state.SetIsAlive(4, 4, true);
            state.SetIsAlive(5, 4, true);
            state.SetIsAlive(6, 4, true);
            state.SetIsAlive(6, 5, true);
            state.SetIsAlive(5, 6, true);
            for (Int32 i = 0; i < 100; i++)
            {
                Render(state);
                state.Advance();
                Thread.Sleep(200);
            }
        }