コード例 #1
0
        /**
         * Procedure that ends the currentPlayer's turna nd sets up the gameplan
         * for another player's turn.
         */
        private void NextPlayer()
        {
            if (currentPlayer is AIPlayer)
            {
                ((AIPlayer)currentPlayer).Trade = true;
            }
            do
            {
                if (players[playerTurnPointer].Blocked > 0)
                {
                    players[playerTurnPointer].Blocked -= 1;
                }
                playerTurnPointer++;
                playerTurnPointer = playerTurnPointer % players.Length;
            } while (players[playerTurnPointer].Blocked > 0);

            currentPlayer = players[playerTurnPointer];
            window.ShowPlayerInfo(currentPlayer);
            window.PrepareForDice(currentPlayer.Color);

            if (currentPlayer is AIPlayer)
            {
                window.gameButton2.Hide();
            }
            window.Update();
            GameState = GameStage.DICE;
            if (currentPlayer is AIPlayer)
            {
                AIDecider.PerformButtonClick(window.gameButton1);
                ClickButton(1);
            }
        }