StratDiff is the abstract class handling the Strategy pattern for applying different AI difficulties. More...
#include <StratDiff.hpp>
Public Member Functions | |
virtual shared_ptr< Card > | playCard (const vector< shared_ptr< Card > > &cardsCanPlay) const =0 |
playCard is a pure virtual function returning the card the player chooses to play. More... | |
virtual Biddings | bid (const Biddings bestBid, const int numberOudlers, const bool chelemAnnounced) const =0 |
Called to decide if we propose a bid or not, and if any, what bid. More... | |
virtual set< shared_ptr< Card > > | makeEcart (const int dogSize, const vector< shared_ptr< Card > > &allCards) const =0 |
To make the ecart once we take the dog. More... | |
StratDiff is the abstract class handling the Strategy pattern for applying different AI difficulties.
|
pure virtual |
Called to decide if we propose a bid or not, and if any, what bid.
bestBid | The best bid proposed so far. |
numberOudlers | The number of oudlers we have in our hand. |
chelemAnnounced | A Boolean to know if someone has declared a chelem. |
Implemented in Beginner.
|
pure virtual |
To make the ecart once we take the dog.
makeEcart is delegated to the difficulty Strategy.
dogSize | The number of card we must include into the ecart. |
allCards | The vector of all our cards, including the dog. |
Implemented in Beginner.
|
pure virtual |
playCard is a pure virtual function returning the card the player chooses to play.
cardCanPlay | The vector of cards one is allowed to play. |
Implemented in Beginner.