public void Populate() { for (int i = 0; i < Width; i++) { for (int j = 0; j < Height; j++) { if (Place[i, j] == null) { Place[i, j] = new Life.Cell(new CellPosition() { X = i, Y = j }, ((new Random((int)(DateTime.Now.ToBinary())).Next(0, 100) > 65) ? true : false)); } else { Place[i, j].SetAlive((new Random((int)(DateTime.Now.ToBinary())).Next(0, 100) > 50) ? true : false); } } } }
List <int> GetNeighbour(int i) { Life.HexagonCellTorGameField _hcgf = new Life.HexagonCellTorGameField(20, 20); List <int> _neighbour = new List <int>(); Life.Cell _cell = _hcgf[i]; for (int j = 0; j < _hcgf.Count; j++) { if (_cell.Neighbour.Contains(_hcgf[j])) { _neighbour.Add(j); } } //int _x = i % FGameWidth; //int _y = i / FGameWidth; //int _incrX = IncrementCoordinate(_x, FGameWidth); //int _decrX = DecrementCoordinate(_x, FGameWidth); //int _incrY = IncrementCoordinate(_y, FGameWidth); //int _decrY = DecrementCoordinate(_y, FGameWidth); //_neighbour.Add(_y * FGameWidth + _incrX); //_neighbour.Add(_y * FGameWidth + _decrX); //_neighbour.Add(_incrY * FGameWidth + _x); //_neighbour.Add(_decrY * FGameWidth + _x); //if ((i / FGameWidth) % 2 == 0) //{ // _neighbour.Add(_incrY * FGameWidth + _incrX); // _neighbour.Add(_decrY * FGameWidth + _incrX); //} //else //{ // _neighbour.Add(_incrY * FGameWidth + _decrX); // _neighbour.Add(_decrY * FGameWidth + _decrX); //} return(_neighbour); }