示例#1
0
        public static int[,] GenerateCaves(int width, int height, double density = 0.45)
        {
            // caves B678/S345678
            var grid = CellularAutomata.RandomFill(width, height, density);

            int[] born    = new[] { 6, 7, 8 };
            int[] survive = new[] { 3, 4, 5, 6, 7, 8 };

            for (int i = 0; i < 5; i++)
            {
                grid = CellularAutomata.RunAutomataTimestep(grid, born, survive);
            }

            return(grid);
        }
        public void TimeSteptest()
        {
            var w    = 100;
            var h    = 150;
            var grid = CellularAutomata.RandomFill(w, h, 0.45);

            // caves B678/S345678
            int[] born    = new[] { 6, 7, 8 };
            int[] survive = new[] { 3, 4, 5, 6, 7, 8 };

            for (int i = 0; i < 5; i++)
            {
                grid = CellularAutomata.RunAutomataTimestep(grid, born, survive);
                Debug.WriteLine(grid.ToRowString(asMap: true));
            }
        }