/** Starts next player's turn until betting is over, then advances to next phase. */ public void betting() { // Begin showdown phase if no players have to make remaining decisions int playersLeft = 0; int remaining = 0; for (PokerPlayer player : getPlayers()) { if (player.isInPlay()) { playersLeft++; if (!player.hasActed()) { remaining++; } } } if (playersLeft == 0 || (playersLeft == 1 && remaining == 0)) { showdown(false); return; } // Start next player's turn int playerCount = getPlayerCount(); PokerPlayer nextPlayer = getPlayerTurn(); int i = 0; while ((!nextPlayer.isInPlay() || nextPlayer.hasActed()) && i < playerCount) { nextPlayer(); nextPlayer = getPlayerTurn(); i++; } if (nextPlayer.isInPlay() && !nextPlayer.hasActed()) { nextPlayer.turnStart(); return; } // Start next phase nextPhase(); }