Previous: , Up: The features   [Contents][Index]


5.1.2 Features for playing

Now there are quite a lot of features when playing. This list will of course grow when discovering new interesting features.

Function: void tarot_features_team (const TarotGame *game, int *attack, int *defence)

Check if the next player in game is an attacker or a defendant. If we don’t know, then set both to 0.

Function: void tarot_features_trick_players (const TarotGame *game, size_t *played, size_t *chances)

Look at the current trick in game, and count how many players have played, and how many chances our team has, i.e. the number of allies playing after the last opponent.

Function: void tarot_features_minor_suit (const TarotGame *game, int *calledsuit, size_t *timeslead, size_t *remainingcards, size_t *remainingpoints, int *allymaybemaster, int *ennemymaybemaster)

Analyze the suit lead in the current trick in game. Check if this is the called suit, how many times it has been lead previously, how many of the suit are remaining in total, how many points are remaining, and whether an ally or an ennemy may be the master, if we assume that noone will trump.

Function: void tarot_features_trump (const TarotGame *game, size_t *nremaining, int *allymaybemaster, int *ennemymaybemaster)

Analyze the trumps in the current trick of game. Count how many of them are remaining, and whether the master may be an ally (yes or no) or an ennemy.

Function: void tarot_features_points (const TarotGame *game, size_t *nhalfpoints, size_t *noudlers)

Count how many half-points and oudlers there are in the current trick in game. Please note that in this context, the excuse counts as 1/2 point, and not an oudler. This is the number of points that can change hands if the taker changes.


Previous: , Up: The features   [Contents][Index]