// card.h -simple general "card" type - 
// can be used in any card game implementation
enum CardSuit {HEART, DIAMOND, CLUB, SPADE};
enum CardVal  {D2=2,D3,D4,D5,D6,D7,D8,D9,D10,JACK,QUEEN,KING,ACE};

class Card {

  CardVal    TheValue;
  CardSuit   TheSuit;

public:
  
  Card () {

    TheSuit  = HEART;
    TheValue = ACE;
  }

  Card (CardVal val, CardSuit suit) {

    TheSuit  = suit;
    TheValue = val;
  }

  CardVal Val() {
    
    return TheValue;
  }

  CardSuit Suit() {

    return TheSuit;
  }

};

ostream& operator<< (ostream& out, Card c) {

  out << c.Val() << "," << c.Suit();

}
