Ejemplo n.º 1
0
        private bool TrySelectRandom(IGameField field)
        {
            var size = field.Size;

            for (int i = 0; i < RandomTriesCount; ++i)
            {
                var pos = new int2(random.Next(size.x), random.Next(size.y));
                if (field[pos] != CellSign.Empty)
                {
                    continue;
                }

                OnMadeTurn?.Invoke(this, pos);
                return(true);
            }

            return(false);
        }
Ejemplo n.º 2
0
        private void TrySelectAny(IGameField field)
        {
            var size = field.Size;

            for (int x = 0; x < size.x; ++x)
            {
                for (int y = 0; y < size.y; ++y)
                {
                    var pos = new int2(x, y);
                    if (field[pos] != CellSign.Empty)
                    {
                        continue;
                    }

                    OnMadeTurn?.Invoke(this, pos);
                    return;
                }
            }
        }
Ejemplo n.º 3
0
 public void StartTurn(IGameField field) => turnController.MakeTurn(pos => OnMadeTurn?.Invoke(this, pos));