Jeu
Class Pion

java.lang.Object
  extended by Jeu.Pion
Direct Known Subclasses:
Roi

public class Pion
extends java.lang.Object


Constructor Summary
Pion(int x, int y, Plateau p, Joueur j)
          On cree un nouveau pion sur le plateau p aux coordonnee (x,y).
 
Method Summary
 java.lang.String afficherPion()
          affiche la couleur du pion sous forme de chaine de caractere
 Pion[] capturerPions(int dir, Plateau p)
          le pion capture les pions qui sont dans sa direction si c'est possible (devant, a droite, a gauche)
 void deplacerPion(int dir, int pas, Plateau p)
          preconditions :
- deplacement > 0 (si une piece est deplacee, on la bouge forcement)
- direction : 0 = haut, 1 = droite, 2 = bas, 3 = gauche
- p = Le pion que le joueur qui possede le pion veut deplacer
- le deplacement du pion doit etre valide : il doit respecter les limites fixees par les variables dMax du pion

postconditions :
- Le pion p avance a la case voulue
- L'ancienne case se voit attribuer 0 pions et la nouvelle case contient le pion p
- les parametres dMax du pion p changent
- On change les parametres dMax des quatres pions potentiels qui seraient situes en haut, a droite, en bas, en haut de l'ancienne position du pion p
- On change les parametres dMax des quatres pions potentiels qui seraient situes en haut, a droite, en bas, en haut de la nouvelle position du pion p
 boolean estBloque()
          on regarde si le pion est bloque ou pas (s'il peut encore bouger), c'est a dire si la somme des dMax[i] est nulle ou pas
 boolean estCapture(Plateau p)
          on regarde si le pion est capture ou pas sur le plateau p
 boolean estMort()
          on regarde si le pion est mort ou pas (il est sur une case morte)
 Case getCase()
          on recupere la case sur laquelle est le pion
 int getDMax(int i)
          On indique le dMax[i] du pion
 int getStatut(int dir, int pas, Plateau p)
          on regarde si le pion potentiel qui se situe dans la direction dir est un ami = 0, neutre = 1, ennemi = 2
si c'est juste la case trone qui fait office de pion distant, on peut considrer que c'est un ami
si c'est un case vide, c'est une case neutre
 java.lang.String getTypePion()
          retourne le type de la piece
 int getX()
          precondition : le pion est sur une case
 int getY()
          precondition : le pion est sur une case
 boolean mouvVersTrone(int dir, int pas, Plateau p)
          on dit avec une direction dir et un pas donnŽ, si le mouvement du pion sera vers le trone
 void revivrePion(Plateau p)
          On fait revivre un pion (faire l'inverse que ce que l'on a fait quand on l'a tue)
 void setCase(Case c)
          on dit au pion qu'il est maintenant sur la case c
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Pion

public Pion(int x,
            int y,
            Plateau p,
            Joueur j)
On cree un nouveau pion sur le plateau p aux coordonnee (x,y). Le pion ajuste automatiquement ses distances maximum (dMax)

Parameters:
x - coordonnee x du pion
y - coordonnee y du pion
p - plateau p sur lequel va etre pose le pion
j - le pion appartient au joueur j
Method Detail

getDMax

public int getDMax(int i)
On indique le dMax[i] du pion

Parameters:
i - indice du dMax[i]
Returns:
on retourne le dMax[i] du pion

getCase

public Case getCase()
on recupere la case sur laquelle est le pion

Returns:
on recupere la case sur laquelle est le pion

setCase

public void setCase(Case c)
on dit au pion qu'il est maintenant sur la case c

Parameters:
c - c est la case sur laquelle le pion se situe

getX

public int getX()
precondition : le pion est sur une case

Returns:
on retourne la coordonnee x de la case sur laquelle est posee le pion

getY

public int getY()
precondition : le pion est sur une case

Returns:
on retourne la coordonnee y de la case sur laquelle est posee le pion

getTypePion

public java.lang.String getTypePion()
retourne le type de la piece

Returns:
retourne "Pion"

estBloque

public boolean estBloque()
on regarde si le pion est bloque ou pas (s'il peut encore bouger), c'est a dire si la somme des dMax[i] est nulle ou pas

Returns:
on dit si le pion est bloque ou pas

estMort

public boolean estMort()
on regarde si le pion est mort ou pas (il est sur une case morte)

Returns:
on dit si le pion est mort ou pas

estCapture

public boolean estCapture(Plateau p)
on regarde si le pion est capture ou pas sur le plateau p

Returns:
on dit si le pion est capture ou pas

getStatut

public int getStatut(int dir,
                     int pas,
                     Plateau p)
on regarde si le pion potentiel qui se situe dans la direction dir est un ami = 0, neutre = 1, ennemi = 2
si c'est juste la case trone qui fait office de pion distant, on peut considrer que c'est un ami
si c'est un case vide, c'est une case neutre

Parameters:
dir - direction dans laquelle on veut connaitre le pion distant
Returns:
on dit si le pion potentiel est un ami = 0, neutre = 1, ennemi = 2

afficherPion

public java.lang.String afficherPion()
affiche la couleur du pion sous forme de chaine de caractere


deplacerPion

public void deplacerPion(int dir,
                         int pas,
                         Plateau p)
preconditions :
- deplacement > 0 (si une piece est deplacee, on la bouge forcement)
- direction : 0 = haut, 1 = droite, 2 = bas, 3 = gauche
- p = Le pion que le joueur qui possede le pion veut deplacer
- le deplacement du pion doit etre valide : il doit respecter les limites fixees par les variables dMax du pion

postconditions :
- Le pion p avance a la case voulue
- L'ancienne case se voit attribuer 0 pions et la nouvelle case contient le pion p
- les parametres dMax du pion p changent
- On change les parametres dMax des quatres pions potentiels qui seraient situes en haut, a droite, en bas, en haut de l'ancienne position du pion p
- On change les parametres dMax des quatres pions potentiels qui seraient situes en haut, a droite, en bas, en haut de la nouvelle position du pion p

Parameters:
dir - (0 = haut, 1 = droite, 2 = bas, 3 = gauche) : la direction dans laquelle le jeu veut deplacer le pion
pas - deplacement (> 0) qui est le nombre de cases pour lequel le joueur va deplacer son pion
p - plateau sur lequel on va deplacer le pion p

capturerPions

public Pion[] capturerPions(int dir,
                            Plateau p)
le pion capture les pions qui sont dans sa direction si c'est possible (devant, a droite, a gauche)

Parameters:
dir - direction vers laquelle le pion capture
p - plateau sur lequel on va capturer les pions
Returns:
on retourne le tableau de pion qui a ete potentiellement tue

revivrePion

public void revivrePion(Plateau p)
On fait revivre un pion (faire l'inverse que ce que l'on a fait quand on l'a tue)

Parameters:
p - plateau sur lequel on va reprendre le mouvement

mouvVersTrone

public boolean mouvVersTrone(int dir,
                             int pas,
                             Plateau p)
on dit avec une direction dir et un pas donnŽ, si le mouvement du pion sera vers le trone

Parameters:
dir - direction du mouvement
pas - pas du mouvement
p - plateau du jeu
Returns:
retourne si le mouvement du pion sera vers le trone