Added the blackjack lib

This commit is contained in:
2023-06-13 09:33:43 +02:00
parent 4d41c4618e
commit ca3142a6cd
8 changed files with 385 additions and 0 deletions

100
blackjack/Card.cpp Normal file
View File

@@ -0,0 +1,100 @@
#include "Card.hpp"
Card::Card(Rank rank, Suit suit) : rank_(rank), suit_(suit) {}
Card::Rank Card::getRank() const
{
return rank_;
}
Card::Suit Card::getSuit() const
{
return suit_;
}
std::string Card::rank_to_string(void) const
{
std::string rank;
switch (rank_)
{
case Rank::ACE:
rank = "Ace";
break;
case Rank::TWO:
rank = "Two";
break;
case Rank::THREE:
rank = "Three";
break;
case Rank::FOUR:
rank = "Four";
break;
case Rank::FIVE:
rank = "Five";
break;
case Rank::SIX:
rank = "Six";
break;
case Rank::SEVEN:
rank = "Seven";
break;
case Rank::EIGHT:
rank = "Eight";
break;
case Rank::NINE:
rank = "Nine";
break;
case Rank::TEN:
rank = "Ten";
break;
case Rank::JACK:
rank = "Jack";
break;
case Rank::QUEEN:
rank = "Queen";
break;
case Rank::KING:
rank = "King";
break;
case Rank::end:
default:
rank = "Invalid";
break;
}
return rank;
}
std::string Card::suit_to_string() const
{
std::string suit;
switch (suit_)
{
case Suit::HEARTS:
suit = "Hearts";
break;
case Suit::DIAMONDS:
suit = "Diamonds";
break;
case Suit::CLUBS:
suit = "Clubs";
break;
case Suit::SPADES:
suit = "Spades";
break;
case Suit::end:
default:
suit = "Invalid";
break;
}
return suit;
}
std::string Card::to_string() const
{
return rank_to_string() + " of " + suit_to_string();
}
bool Card::operator==(const Card &other) const
{ return (rank_ == other.getRank()
&& suit_ == other.getSuit());
}