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 : * * * Ces coordonnées seront utilisées par AvalamBoard pour : * * * Cette classe ne contient aucune logique de vérification : tout est délégué * à 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 + ")" + '}'; } }