sjrd.tricktakinggame.game
Class Rules

java.lang.Object
  extended by sjrd.tricktakinggame.game.Rules
Direct Known Subclasses:
BasicRules

public abstract class Rules
extends Object

Règles abstraites

Author:
sjrd

Field Summary
private  Game game
          Jeu maître
private  int playerCount
          Nombre de joueurs
private  int teamCount
          Nombre d'équipes
 
Constructor Summary
Rules(int aPlayerCount, int aTeamCount)
          Crée de nouvelles règles
 
Method Summary
protected static void filterAllCards(List<Card> cards)
          Filtre toutes les cartes d'une liste en les remplaçant par null.
 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.
 Game getGame()
          Jeu maître
 int getPlayerCount()
           
 int getTeamCount()
           
abstract  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é.
abstract  void playGame()
          Joue une partie
protected  void setCurrentAuction(Auction<?,?> value)
          Modifie l'enchère courante
protected  void setCurrentContract(Contract value)
          Modifie le contrat courant
(package private)  void setGame(Game newGame)
          Modifie le jeu maître
 int teamOfPlayer(int playerPosition)
          Répartit les joueurs dans les équipes en "tournant", avec un modulo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

playerCount

private int playerCount
Nombre de joueurs


teamCount

private int teamCount
Nombre d'équipes


game

private Game game
Jeu maître

Constructor Detail

Rules

public Rules(int aPlayerCount,
             int aTeamCount)
Crée de nouvelles règles

Parameters:
aPlayerCount - Nombre de joueurs
aTeamCount - Nombre d'équipes
Method Detail

makeDeck

public abstract 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é.


getPlayerCount

public int getPlayerCount()
See Also:
sjrd.cardgame.game.Rules#getPlayerCount()

getTeamCount

public int getTeamCount()
See Also:
sjrd.cardgame.game.Rules#getTeamCount()

teamOfPlayer

public int teamOfPlayer(int playerPosition)
Répartit les joueurs dans les équipes en "tournant", avec un modulo


getGame

public Game getGame()
Jeu maître

Returns:
Jeu maître

setGame

void setGame(Game newGame)
Modifie le jeu maître

Parameters:
newGame - Nouveau jeu maître

setCurrentAuction

protected void setCurrentAuction(Auction<?,?> value)
Modifie l'enchère courante

Parameters:
value - Nouvelle enchère (peut être null)
See Also:
Game.setCurrentAuction(Auction)

setCurrentContract

protected void setCurrentContract(Contract value)
Modifie le contrat courant

Parameters:
value - Nouveau contrat (peut être null)
See Also:
Game.setCurrentContract(Contract)

playGame

public abstract void playGame()
                       throws CardGameException
Joue une partie

Throws:
CardGameException

filterAllCards

protected static void filterAllCards(List<Card> cards)
Filtre toutes les cartes d'une liste en les remplaçant par null.

Parameters:
cards - Liste à filtrer

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.

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.

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.

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