コード例 #1
0
        public void StartGame(Tuple <int, int> blackHoleCoords)
        {
            currentPlayerColor = firstPlayerColor;

            board.SetBlackHole(blackHoleCoords);

            GameStarted?.Invoke(board.Points);

            var availablePoints = GetAvailablePoints();

            AvailablePointsCalculated?.Invoke(availablePoints);
        }
コード例 #2
0
        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);
        }