52 AI(
const string& name,
const vector<string>& knownPartners);
68 shared_ptr<Card> chooseKing(
const Deck &deck )
const;
76 bool haveSuit(
const string& name,
const Suits suit)
const;
83 inline bool isOpponent(
const string& name )
const {
return opponents.find( name ) == opponents.end() ?
false :
true; }
90 inline bool isPartner(
const string& name )
const {
return partners.find( name ) == partners.end() ?
false :
true; }
98 set< shared_ptr<Card> > makeEcart(
const int dogSize );
111 bool opponentsHaveSuit(
const Suits suit )
const;
120 shared_ptr<Card> playCard(
const Suits referenceCard,
const shared_ptr<Card> highTrump);
126 inline void setDifficulty (
const shared_ptr<StratDiff> diff ) { difficulty = diff; }
153 bool hasSuit(
const Suits suit )
const
174 map<string, shared_ptr<Counting> > opponents;
175 map<string, shared_ptr<Counting> > partners;
176 shared_ptr<StratDiff> difficulty;
Suits
The enum containing all suits, plus the Fool as a special suit.
Definition: Suits.hpp:25
bool isPartner(const string &name) const
To know if someone is your partner.
Definition: AI.hpp:90
This class defines AI players.
Definition: AI.hpp:44
Deck is the class managing the deck of cards. Used as well as for the game deck, but also for a count...
Definition: Deck.hpp:32
Biddings
The enum containing all official biddings.
Definition: Biddings.hpp:35
void setDifficulty(const shared_ptr< StratDiff > diff)
Inline function to set the difficulty (set a Strategy concrete class).
Definition: AI.hpp:126
bool isOpponent(const string &name) const
To know if someone is your opponent.
Definition: AI.hpp:83
Player is an abstract class presenting a common interface for AI and Human players.
Definition: Player.hpp:36