Пример #1
0
 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);
             }
         }
     }
 }
Пример #2
0
        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);
        }