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); }
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; } } }
public void StartTurn(IGameField field) => turnController.MakeTurn(pos => OnMadeTurn?.Invoke(this, pos));