sjrd.tricktakinggame.rules.manille
Class ManilleRules

java.lang.Object
  extended by sjrd.tricktakinggame.game.Rules
      extended by sjrd.tricktakinggame.rules.BasicRules
          extended by sjrd.tricktakinggame.rules.AuctionRules<ManilleAuction,ManilleContract>
              extended by sjrd.tricktakinggame.rules.manille.ManilleRules

public class ManilleRules
extends AuctionRules<ManilleAuction,ManilleContract>

Règles de la Manille

Author:
sjrd

Field Summary
protected static String[] cardDrawIDs
          Noms de dessin des cartes
protected static int[] cardPoints
          Points des cartes selon leur force
protected static String[] defaultCardNames
          Noms par défaut des cartes
 
Constructor Summary
ManilleRules()
          Crée un objet règles de Manille
 
Method Summary
protected  ManilleAuction createAuction()
          Crée l'enchère
 void filterPlayerCards(Player destPlayer, Player sourcePlayer, List<Card> cards)
          Filtre les cartes dans la main d'un joueur Avant d'envoyer à un joueur les informations sur les cartes dans la main d'un joueur, cette liste passe par un appel à filterPlayerCards.
 void filterPlayerCollectedCards(Player destPlayer, Player sourcePlayer, List<Card> collectedCards)
          Filtre les cartes ramassées par un joueur Avant d'envoyer à un joueur les informations sur les cartes ramassées par un joueur, cette liste passe par un appel à filterPlayerCollectedCards.
 void filterTeamCollectedCards(Player destPlayer, Team sourceTeam, List<Card> collectedCards)
          Filtre les cartes ramassées par une équipe Avant d'envoyer à un joueur les informations sur les cartes ramassées par une équipe, cette liste passe par un appel à filterTeamCollectedCards.
 Deck makeDeck()
          Construit le paquet de cartes Les sous-classes de Rules doivent implémenter cette méthode pour indiquer comment le paquet de cartes doit être constitué.
protected  void makeScores()
          Calcule les points
protected  List<Card> makeValidCards(Player player, Suit leadSuit, Card winningCard, Player winningPlayer)
          Construit une liste des cartes valides pour un joueur Il y a trois critères successifs de validité : Le joueur a cette carte en main ; La carte suit la couleur, si le joueur a cette couleur en main ; La carte gagne, si le joueur a au moins une carte qui gagne.
protected  void prepareGame()
          Prépare une partie L'implémentation dans BasicRules ne fait rien.
 
Methods inherited from class sjrd.tricktakinggame.rules.AuctionRules
doAuction, finishGame, getAuction, getContract, playGame, setAuction, setContract
 
Methods inherited from class sjrd.tricktakinggame.rules.BasicRules
collectCards, filterMustFollowSuit, filterMustWin, getTrump, isBestCard, makeValidLeadCards, playCard, playCard, playTrick, playTricks, recollectCardsToDeck, setTrump, showErrorMessageToAll, showMessageToAll, terminateTrick
 
Methods inherited from class sjrd.tricktakinggame.game.Rules
filterAllCards, getGame, getPlayerCount, getTeamCount, setCurrentAuction, setCurrentContract, teamOfPlayer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultCardNames

protected static final String[] defaultCardNames
Noms par défaut des cartes


cardDrawIDs

protected static final String[] cardDrawIDs
Noms de dessin des cartes


cardPoints

protected static final int[] cardPoints
Points des cartes selon leur force

Constructor Detail

ManilleRules

public ManilleRules()
Crée un objet règles de Manille

Method Detail

makeDeck

public Deck makeDeck()
Construit le paquet de cartes

Les sous-classes de Rules doivent implémenter cette méthode pour indiquer comment le paquet de cartes doit être constitué.

Specified by:
makeDeck in class Rules

createAuction

protected ManilleAuction createAuction()
Crée l'enchère

Specified by:
createAuction in class AuctionRules<ManilleAuction,ManilleContract>
Returns:
Enchère créée

prepareGame

protected void prepareGame()
                    throws CardGameException
Prépare une partie

L'implémentation dans BasicRules ne fait rien.

Cette méthode devrait être surchargée pour préparer un jeu, entre autres pour distribuer les cartes, et renseigner le joueur actif.

Overrides:
prepareGame in class BasicRules
Throws:
CardGameException

makeValidCards

protected List<Card> makeValidCards(Player player,
                                    Suit leadSuit,
                                    Card winningCard,
                                    Player winningPlayer)
Construit une liste des cartes valides pour un joueur

Il y a trois critères successifs de validité :

  1. Le joueur a cette carte en main ;
  2. La carte suit la couleur, si le joueur a cette couleur en main ;
  3. La carte gagne, si le joueur a au moins une carte qui gagne.

Overrides:
makeValidCards in class BasicRules
Parameters:
player - Joueur qui joue
leadSuit - Couleur de tête
winningCard - Carte qui gagne jusqu'ici
winningPlayer - Joueur qui gagne jusqu'ici
Returns:
Ensemble des cartes valides

makeScores

protected void makeScores()
                   throws CardGameException
Calcule les points

Overrides:
makeScores in class BasicRules
Throws:
CardGameException

filterTeamCollectedCards

public void filterTeamCollectedCards(Player destPlayer,
                                     Team sourceTeam,
                                     List<Card> collectedCards)
Filtre les cartes ramassées par une équipe

Avant d'envoyer à un joueur les informations sur les cartes ramassées par une équipe, cette liste passe par un appel à filterTeamCollectedCards.

En entrée, le paramètre collectedCards est une copie de la liste des cartes ramassées par l'équipe sourceTeam. Cette méthode peut modifier cette liste comme elle l'entend.

L'implémentation par défaut dans Rules ne fait rien, et ne filtre donc rien.

Overrides:
filterTeamCollectedCards in class Rules
Parameters:
destPlayer - Joueur qui recevra les informations
sourceTeam - Equipe dont traiter les cartes ramassées
collectedCards - Cartes ramassées par l'équipe

filterPlayerCards

public void filterPlayerCards(Player destPlayer,
                              Player sourcePlayer,
                              List<Card> cards)
Filtre les cartes dans la main d'un joueur

Avant d'envoyer à un joueur les informations sur les cartes dans la main d'un joueur, cette liste passe par un appel à filterPlayerCards. Ceci est aussi valable pour les cartes la main du joueur à qui seront envoyées les données.

En entrée, le paramètre cards est une copie de la liste des cartes dans la main du joueur sourcePlayer. Cette méthode peut modifier cette liste comme elle l'entend.

L'implémentation par défaut dans Rules ne fait rien, et ne filtre donc rien.

Overrides:
filterPlayerCards in class Rules
Parameters:
destPlayer - Joueur qui recevra les informations
sourcePlayer - Joueur dont traiter les cartes en main
cards - Cartes dans la main du joueur

filterPlayerCollectedCards

public void filterPlayerCollectedCards(Player destPlayer,
                                       Player sourcePlayer,
                                       List<Card> collectedCards)
Filtre les cartes ramassées par un joueur

Avant d'envoyer à un joueur les informations sur les cartes ramassées par un joueur, cette liste passe par un appel à filterPlayerCollectedCards. Ceci est aussi valable pour les cartes ramassées par le joueur à qui seront envoyées les données.

En entrée, le paramètre collectedCards est une copie de la liste des cartes ramassées par le joueur sourcePlayer. Cette méthode peut modifier cette liste comme elle l'entend.

L'implémentation par défaut dans Rules ne fait rien, et ne filtre donc rien.

Overrides:
filterPlayerCollectedCards in class Rules
Parameters:
destPlayer - Joueur qui recevra les informations
sourcePlayer - Joueur dont traiter les cartes ramassées
collectedCards - Cartes ramassées par le joueur