#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; class Game : virtual public CardPile, public User, public Opponent { private: protected: public: Game(void); void shufflePile(void); void askForNumberOfOpponents(void); void repeatGame(bool *); int parseInt(string *, int, int); int howManyCardsOfSameSuit(Card **); bool pairOrBetter(Card **); int numOfSameCards(Card **); struct countAndSuit numOfSameSuit(Card **); struct countAndType numOfSameType(Card **); bool doWeHaveAnAce(Card **); int *whichCardsToDiscard(Card **); void oppDiscardFromPairOrBetter(Card **, int); bool sanityCheck(Card **); void discardAndDraw(Card **, int, int); void opponentAI(int); void userDiscardCards(Card **, int); void userAI(Card **); bool isInOrderByOne(Card **); bool isInOrder(Card **); bool hasFullHouse(Card **, struct countAndType *); bool hasTwoPairs(Card **); void evaluateHand(Card **, int); void showHands(void); void determineWinner(void); /* variables */ int handsPlayed; int handsWon; static string *hands[10]; static string *suits[5]; static string *winmsg[4]; }; #endif