fr.lip6.sma.simulacion.avatar
Class CardStack

java.lang.Object
  extended by fr.lip6.sma.simulacion.avatar.CardStack

public class CardStack
extends Object

Classe pour la pile des cartes.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini."

Nested Class Summary
private  class CardStack.StackItem
          Structure pour les éléments de la pile.
 
Field Summary
private  int mCurrentCardIx
          Indice (base 0) de la carte actuelle.
private  int mInputCardIx
          Indice (base 0) de la carte de saisie.
private  List mStack
          Ensemble des cartes.
 
Constructor Summary
CardStack(InputCard inInitialCard, Object inCookie)
          Constructeur à partir de la carte initiale (carte de saisie).
 
Method Summary
 boolean addEventCard(EventCard inEventCard, Object inCookie)
          Ajout d'une carte d'événement dans la pile.
 int countCards()
          Récupère le nombre de cartes.
 InterfaceCard getCurrentCard()
          Accesseur sur la carte courante.
 int getCurrentCardIndex()
          Récupère l'indice de la carte actuelle (base 1).
 Object getCurrentCookie()
          Accesseur sur le biscuit de la carte courante.
 void goToInputCard()
          Avance jusqu'à la carte de saisie.
 void goToNextCard()
          Avance jusqu'à la carte suivante.
 void goToPreviousCard()
          Avance jusqu'à la carte précédente.
 boolean hasNextCard()
          Détermine s'il y a une carte suivante.
 boolean hasPreviousCard()
          Détermine s'il y a une carte précédente.
 void setInputCard(InputCard inInputCard, Object inCookie)
          Ajout d'une carte de saisie dans la pile.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mStack

private final List mStack
Ensemble des cartes. Les éléments sont de type StackItem.


mCurrentCardIx

private int mCurrentCardIx
Indice (base 0) de la carte actuelle.


mInputCardIx

private int mInputCardIx
Indice (base 0) de la carte de saisie.

Constructor Detail

CardStack

public CardStack(InputCard inInitialCard,
                 Object inCookie)
Constructeur à partir de la carte initiale (carte de saisie).

Parameters:
inInitialCard - carte initiale.
inCookie - biscuit pour la carte.
Method Detail

getCurrentCard

public final InterfaceCard getCurrentCard()
Accesseur sur la carte courante.

Returns:
une référence sur la carte courante.

getCurrentCookie

public final Object getCurrentCookie()
Accesseur sur le biscuit de la carte courante.

Returns:
le biscuit de la carte courante.

setInputCard

public final void setInputCard(InputCard inInputCard,
                               Object inCookie)
Ajout d'une carte de saisie dans la pile. Elle se place devant toutes les cartes et remplace la carte de saisie déjà présente.

Parameters:
inInputCard - nouvelle carte de saisie.
inCookie - biscuit pour la carte.

addEventCard

public final boolean addEventCard(EventCard inEventCard,
                                  Object inCookie)
Ajout d'une carte d'événement dans la pile. Si la carte courante n'est pas occupée, la carte d'événément passe devant.

Parameters:
inEventCard - carte d'événement à ajouter dans la pile.
inCookie - biscuit pour la carte.
Returns:
true si la carte courante a changé (i.e. si la carte ajoutée est devenue la carte courante)

hasPreviousCard

public final boolean hasPreviousCard()
Détermine s'il y a une carte précédente.

Returns:
true s'il y a une carte précédente, false sinon.

hasNextCard

public final boolean hasNextCard()
Détermine s'il y a une carte suivante.

Returns:
true s'il y a une carte suivante, false sinon.

goToNextCard

public final void goToNextCard()
Avance jusqu'à la carte suivante.

Throws:
IndexOutOfBoundsException - s'il n'y a pas de carte suivante.

goToPreviousCard

public final void goToPreviousCard()
Avance jusqu'à la carte précédente.

Throws:
IndexOutOfBoundsException - s'il n'y a pas de carte précédente.

goToInputCard

public final void goToInputCard()
Avance jusqu'à la carte de saisie.


getCurrentCardIndex

public final int getCurrentCardIndex()
Récupère l'indice de la carte actuelle (base 1).

Returns:
l'indice de la carte actuelle.

countCards

public final int countCards()
Récupère le nombre de cartes.

Returns:
le nombre de cartes.