#ifndef _GAME_H_ #define _GAME_H_ #include #include #include #include #include #include #include "cardpile.h" #include "user.h" #include "opponent.h" using std::cout; using std::endl; using std::cin; struct countAndSuit { enum Suit whatSuit; int count; }; class Game : virtual public CardPile, public User, public Opponent { private: protected: public: Game(void); void shufflePile(void); void askForNumberOfOpponents(void); void repeatGame(bool *); /* asks user for a number, param1 = msg, 2 = rangeA, 3 = rangeB */ int parseInt(string *, int, int); int howManyCardsOfSameSuit(Card **); bool pairOrBetter(Card **); int numOfSameCards(Card **); struct countAndSuit numOfSameSuit(Card **); bool doWeHaveAnAce(Card **); void discardAndDraw(Card **, int, int); void opponentAI(Card **); /* variables */ int handsPlayed; int handsWon; static string *hands[10]; static string *suits[5]; }; #endif