public void StartGame(Tuple <int, int> blackHoleCoords) { currentPlayerColor = firstPlayerColor; board.SetBlackHole(blackHoleCoords); GameStarted?.Invoke(board.Points); var availablePoints = GetAvailablePoints(); AvailablePointsCalculated?.Invoke(availablePoints); }
public void MakeMove(Tuple <int, int> coolds) { if (GetAvailablePoints().Count == 0) { Pass(); } else { passedMovesCount = 0; } List <List <Point> > points = BoardHandler.SetPoint(currentPlayerColor, coolds, board.Points); MoveMade?.Invoke(points); SwapTurn(); AvailablePointsCalculated?.Invoke(GetAvailablePoints()); CalculatePlayersScore(points); if (BoardHandler.isFull(points) || passedMovesCount == 2) { FinishGame(points); return; } board = new Board(points); }