Files
BUT3ProjetJeuGroupe/fr/iut_fbleau/Avalam/AvalamPly.java

105 lines
2.2 KiB
Java

package fr.iut_fbleau.Avalam;
import fr.iut_fbleau.GameAPI.AbstractPly;
import fr.iut_fbleau.GameAPI.Player;
/**
* La classe <code>AvalamPly</code>
*
* Représente un coup (ply) dans le jeu Avalam.
* Un coup est défini par :
* - un joueur (PLAYER1 ou PLAYER2)
* - une position source (xFrom, yFrom)
* - une position destination (xTo, yTo)
*
* Cette classe ne vérifie pas la légalité : tout est délégué à <code>AvalamBoard</code>.
*/
public class AvalamPly extends AbstractPly {
//Attributs
/** Coordonnée ligne de la case source. */
private final int xFrom;
/** Coordonnée colonne de la case source. */
private final int yFrom;
/** Coordonnée ligne de la case destination. */
private final int xTo;
/** Coordonnée colonne de la case destination. */
private final int yTo;
//Constructeur
/**
* Construit un coup Avalam.
*
* @param player joueur qui joue le coup
* @param xFrom ligne d'origine
* @param yFrom colonne d'origine
* @param xTo ligne de destination
* @param yTo colonne de destination
*/
public AvalamPly(Player player, int xFrom, int yFrom, int xTo, int yTo) {
super(player);
this.xFrom = xFrom;
this.yFrom = yFrom;
this.xTo = xTo;
this.yTo = yTo;
}
//Méthodes
/**
* Retourne la ligne d'origine.
*
* @return ligne source
*/
public int getXFrom() {
return xFrom;
}
/**
* Retourne la colonne d'origine.
*
* @return colonne source
*/
public int getYFrom() {
return yFrom;
}
/**
* Retourne la ligne de destination.
*
* @return ligne destination
*/
public int getXTo() {
return xTo;
}
/**
* Retourne la colonne de destination.
*
* @return colonne destination
*/
public int getYTo() {
return yTo;
}
//Affichage
/**
* Retourne une représentation textuelle du coup.
*
* @return chaîne décrivant le coup
*/
@Override
public String toString() {
return "AvalamPly{" +
"player=" + getPlayer() +
", (" + xFrom + "," + yFrom + ") -> (" + xTo + "," + yTo + ")" +
'}';
}
}