Esempio n. 1
0
        public Grid2d <ICell> BuildCellularGrid()
        {
            //create the grid
            cellularGrid = CreateCellularGrid();

            //add cells to the grid:
            PopulateGrid();

            //initialize cell state:

            ICAConfig initialConfiguration = GetInitialConfiguration();

            if (initialConfiguration != null)
            {
                foreach (ICell cell in cellularGrid.GetObjects())
                {
                    cell.SetState(initialConfiguration.GetCellState(cell));
                }
            }


            //build neighborhoods:
            foreach (ICell cell in cellularGrid.GetObjects())
            {
                ((ICell)cell).SetNeighbors(GetNeighborhoodStrategy().BuildNeighborhood(cell));
            }

            //return the grid
            return(cellularGrid);
        }