Advertisement
Guest User

Untitled

a guest
Nov 28th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. #include <cstdlib>
  2. #include "card.h"
  3. #include <sstream>
  4. #include <stdexcept>
  5. using namespace std;
  6.  
  7. Card::Card(int r, char s)
  8. {
  9.     if(r <= 13 && r > 0)
  10.         this->r = r;
  11.     else
  12.         throw std::invalid_argument("Rank must be valid (1-13)");
  13.  
  14.     if(s == 'd' || s == 'D')        //diamonds
  15.         this->s = 'D';
  16.     else if(s == 'h' || s == 'H')   //hearts
  17.         this->s = 'H';
  18.     else if(s == 's' || s == 'S')   //spades
  19.         this->s = 'S';
  20.     else if(s == 'c' || s == 'C')   //clubs
  21.         this->s == 'C';
  22.     else
  23.         throw std::invalid_argument("Suit must be valid (H, S, C, D");
  24. }
  25.  
  26. Card::Card(const Card& old)
  27. {
  28.     r = old.r;
  29.     s = old.s;
  30. }
  31.  
  32. void Card::setCard(int r, char s)
  33. {
  34.     if(r <= 13 && r > 0)
  35.         this->r = r;
  36.     else
  37.         throw std::invalid_argument("Rank must be valid (1-13)");
  38.  
  39.     if(s == 'd' || s == 'D')        //diamonds
  40.         this->s = 'D';
  41.     else if(s == 'h' || s == 'H')   //hearts
  42.         this->s = 'H';
  43.     else if(s == 's' || s == 'S')   //spades
  44.         this->s = 'S';
  45.     else if(s == 'c' || s == 'C')   //clubs
  46.         this->s == 'C';
  47.     else
  48.         throw std::invalid_argument("Suit must be valid (H, S, C, D");
  49. }
  50.  
  51. int Card::getRank()
  52. {
  53.     return r;
  54. }
  55.  
  56.  bool Card:: operator == (const Card c) const
  57.  {
  58.      if(r == c.r)
  59.          return true;
  60.      else
  61.          return false;
  62.  }
  63.  
  64.  bool Card:: operator >(const Card c) const
  65.  {
  66.      
  67.  }
  68.  
  69.  ostream& operator << (ostream& out, const Card c)
  70.  {
  71.      if(c.r == 1)
  72.          out << "A" << c.s;
  73.      else if(c.r > 1 && c.r <= 10)
  74.          out << c.r << c.s;
  75.      else if(c.r == 11)
  76.          out << "J" << c.s;
  77.      else if(c.r == 12)
  78.          out << "Q" << c.s;
  79.      else      //must be king
  80.          out << "K" << c.s;
  81.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement