public Cellular_automata_space()
        {
            size               = 302;
            numOfEmptyCells    = (int)((size - 2) * (size - 2));
            NEIGHBORHOOD_TYPE  = NEIGHBORHOOD_TYPE.NEUMANN;
            BOUNDARY_CONDITION = BOUNDARY_CONDITION.ABSORBING;
            lattice            = new Cell[size, size];
            lattice_temp       = new Cell[size, size];
            //lattice = new List<List<Cell>>();
            for (int i = 0; i < size; ++i)
            {
                for (int j = 0; j < size; ++j)
                {
                    lattice[i, j]      = new Cell();
                    lattice_temp[i, j] = new Cell();
                }
            }

            //lattice_temp = new List<List<Cell>>();
            //for (int i = 0; i < size; ++i)
            //{
            //    lattice_temp.Add(new List<Cell>());
            //    for (int j = 0; j < size; ++j)
            //    {
            //        lattice_temp[i].Add(new Cell());
            //    }
            //}
        }
 public Cellular_automata_space(uint s)
 {
     numOfEmptyCells    = (int)(s * s);
     size               = s + 2;
     NEIGHBORHOOD_TYPE  = NEIGHBORHOOD_TYPE.NEUMANN;
     BOUNDARY_CONDITION = BOUNDARY_CONDITION.ABSORBING;
     lattice            = new Cell[size, size];
     lattice_temp       = new Cell[size, size];
     //lattice = new List<List<Cell>>();
     for (int i = 0; i < size; ++i)
     {
         for (int j = 0; j < size; ++j)
         {
             lattice[i, j]      = new Cell();
             lattice_temp[i, j] = new Cell();
         }
     }
 }