52 lines
1.0 KiB
C++
52 lines
1.0 KiB
C++
//
|
|
// Created by alex on 7/21/25.
|
|
//
|
|
|
|
#include "Blackjack.h"
|
|
|
|
Blackjack::Blackjack(int numDecks) : deck(numDecks) { }
|
|
|
|
|
|
void Blackjack::play() {
|
|
std::vector<Card> playerCards;
|
|
std::vector<Card> dealerCards;
|
|
bool playerwin=false;
|
|
bool dealerwin=false;
|
|
|
|
//player gets 2 cards
|
|
playerCards.push_back(deck.draw());
|
|
playerCards.push_back(deck.draw());
|
|
displayCards(playerCards);
|
|
|
|
//dealer gets 2 cards
|
|
dealerCards.push_back(deck.draw());
|
|
dealerCards.push_back(deck.draw());
|
|
displayCards(dealerCards);
|
|
|
|
while (!playerwin && !dealerwin) {
|
|
if (sum_cards(playerCards) == 21)
|
|
playerwin=true;
|
|
if (sum_cards(dealerCards) == 21)
|
|
dealerwin=true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
void Blackjack::displayCards(std::vector<Card> &cards) {
|
|
for (const Card& card : cards) {
|
|
std::cout << card << std::endl;
|
|
}
|
|
}
|
|
|
|
int Blackjack::sum_cards(std::vector<Card> &cards) {
|
|
int sum = 0;
|
|
for (const Card& card : cards) {
|
|
sum+=card.getValue();
|
|
}
|
|
return sum;
|
|
}
|