@Override public void start() { // Close table setOpen(false); // Begin first phase phase = PokerPhase.PREFLOP; // Create pot pot = newPot(0, new HashSet<>(getPlayers())); // Post blinds blinds(); // Deal 2 cards to each player deck.shuffle(); for (PokerPlayer player : getPlayers()) { player.dealCard(deck.draw(player), deck.draw(player)); } // Start betting with player left of big blind playerTurn = getPlayerCount() - 2; nextPlayer(); for (PokerPlayer player : getPlayers()) { player.requireAction(); } betting(); }
/** * Deals cards to the table. * * @param cards The amount of cards to deal */ public void dealTableCards(int cards) { for (int i = 0; i < cards; i++) { tableCards.add(deck.draw()); } }