void Blackjack::findWinner(Player & player, Dealer & dealer) { if(player.isBust()) // Check to see if player busted during their turn { cout << "\n***** [ " << player.getName() << " busted ] *****" << endl; player.printCurrentHand(); } else { dealer.turn(deck, player.getCurrentScore()); } cout << dealer.getName() << " has:" << endl; dealer.printCurrentHand(); /* Find winner and print the results on stdout, remember house wins on a tie */ if((player.getCurrentScore() > dealer.getCurrentScore() || dealer.isBust()) && !player.isBust()) { cout << player.getName() << " has won the game!" << endl; player.giveMoney(wager); playerWins++; } else { cout << dealer.getName() << " has won the game!" << endl; player.takeMoney(wager); dealerWins++; } }
void Blackjack::startTurn(Player & player, Dealer & dealer) { deck.initialize(); deck.shuffle(); // Shuffle the deck initialDeal(player, dealer); cout << dealer.getName() << " is showing:" << endl; dealer.printCurrentHand(); cout << player.getName() << " is showing:" << endl; player.printCurrentHand(); wager = player.getWager(); player.turn(deck); // Give player a turn dealer.revealCard(); // Reveal dealer's card findWinner(player, dealer); cout << "\tTotal " << player.getName() << " wins: " << playerWins; cout << " ($" << player.getMoney() << ")" << endl; cout << "\tTotal " << dealer.getName() << " wins: " << dealerWins << endl; cout << "\nPress enter to continue." << endl; player.resetHand(); dealer.resetHand(); cin.get(); // Pause console output until next user input }