/** * 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); } }