// // Created by alex on 7/14/25. // #include "Card.h" Card::Card(Suit s, Rank r) : suit(s), rank(r) { value = static_cast(r) + 1; } Suit Card::getSuit() const { return suit; } Rank Card::getRank() const { return rank; } int Card::getValue() const { return value; } // Getters // Setter for changing value to 1 for ace? // Overload operator<< std::ostream& operator<<(std::ostream& os, const Card& card) { std::string rankString; std::string clubString; switch (card.getRank()) { case Rank::Ace: rankString = "Ace"; break; case Rank::Jack: rankString = "Jack"; break; case Rank::Queen: rankString = "Queen"; break; case Rank::King: rankString = "King"; break; default: rankString = std::to_string(card.getValue()); break; } switch (card.getRank()) { case Rank::Ace: rankString = "Ace"; break; case Rank::Two: rankString = "2"; break; case Rank::Three: rankString = "3"; break; case Rank::Four: rankString = "4"; break; case Rank::Five: rankString = "5"; break; case Rank::Six: rankString = "6"; break; case Rank::Seven: rankString = "7"; break; case Rank::Eight: rankString = "8"; break; case Rank::Nine: rankString = "9"; break; case Rank::Ten: rankString = "10"; break; case Rank::Jack: rankString = "Jack"; break; case Rank::Queen: rankString = "Queen"; break; case Rank::King: rankString = "King"; break; } switch (card.getSuit()) { case Suit::Clubs: clubString = "Clubs"; break; case Suit::Diamonds: clubString = "Diamonds"; break; case Suit::Hearts: clubString = "Hearts"; break; case Suit::Spades: clubString = "Spades"; break; } os << rankString << " of " << clubString; return os; }