Exemplo n.º 1
0
        static void Main(string[] args)
        {
            bool[,] array = new bool[6, 12];

            array[1, 4] = true;
            array[2, 3] = true;
            array[2, 4] = true;
            array[2, 5] = true;
            array[3, 4] = true;

            var grid = GameOfLife.GetGrid(array);

            GameOfLife.Print(Console.WriteLine, grid, 0);
            Console.WriteLine("Press Enter To Begin");
            Console.ReadLine();

            GameOfLife.Run(
                grid: grid,
                iterations: 1000,
                iterator: (g) => GameOfLife.Iterate(g, GameOfLife.ApplyConditions),
                print: (gridToPrint, iteration) => GameOfLife.Print(Console.WriteLine, gridToPrint, iteration, clear: Console.Clear),
                postIteration: () => Task.Delay(250).Wait());

            Console.ReadLine();
        }
Exemplo n.º 2
0
        public void StartGame()
        {
            Renderer.SetTitle("Conway's Game of Life");
            Renderer.RenderTitle();

            var height = Renderer.GetGridDimension("height");
            var width  = Renderer.GetGridDimension("width");

            GameOfLife.SetGridSize(height, width);

            var initialCells = Renderer.GetInitialStateOfGrid();

            GameOfLife.SetInitialStateOfGrid(initialCells);

            var generation          = 1;
            var numberOfLivingCells = GameOfLife.LivingCells.Count();

            while (numberOfLivingCells != 0)
            {
                Renderer.SetGenerationNumber(generation);
                Renderer.SetNumberOfLivingCells(numberOfLivingCells);
                Renderer.SetGrid(GameOfLife.GetGrid());
                Renderer.RenderGrid();
                GameOfLife.Evolve();
                generation++;
                numberOfLivingCells = GameOfLife.LivingCells.Count();
                Thread.Sleep(500);
            }
        }