package fr.iut_fbleau.Avalam; import fr.iut_fbleau.GameAPI.AbstractPly; import fr.iut_fbleau.GameAPI.Player; /** * Représente un coup (ply) dans le jeu Avalam. * * Un coup est défini par : *
AvalamBoard pour :
* AvalamBoard.isLegal() et AvalamBoard.doPly().
*/
public class AvalamPly extends AbstractPly {
/** Coordonnées source */
private final int xFrom;
private final int yFrom;
/** Coordonnées destination */
private final int xTo;
private final int yTo;
/**
* Constructeur principal.
*
* @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;
}
/** Ligne d'origine */
public int getXFrom() {
return xFrom;
}
/** Colonne d'origine */
public int getYFrom() {
return yFrom;
}
/** Ligne de destination */
public int getXTo() {
return xTo;
}
/** Colonne de destination */
public int getYTo() {
return yTo;
}
@Override
public String toString() {
return "AvalamPly{" +
"player=" + getPlayer() +
", (" + xFrom + "," + yFrom + ") -> (" + xTo + "," + yTo + ")" +
'}';
}
}