package sudoku.structure;

/**
 * Représente les coordonnées d'une Cell.
 */
public class Coordinate {

    // <editor-fold defaultstate="collapsed" desc="ATTRIBUTS">

    /**
     * L'abscisse de la Cell.
     */
    private int x;
    /**
     * L'ordonnée de la Cell.
     */
    private int y;

    // </editor-fold>

    // <editor-fold defaultstate="collapsed" desc="METHODES">

    public Coordinate(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    /**
     * Ajoute la Coordiante donnée à celle-ci.
     * @param other Coordiante, à ajouter.
     * @return Coordinate, le résultat de l'addition.
     */
    public Coordinate add(Coordinate other) {
        return new Coordinate(this.x + other.x, this.y + other.y);
    }

    /**
     * Soustrait la Coordiante donnée à celle-ci.
     * @param other Coordiante, à soustraire.
     * @return Coordinate, le résultat de la soustraction.
     */
    public Coordinate sub(Coordinate other) {
        return new Coordinate(this.x - other.x, this.y - other.y);
    }

    // </editor-fold>
}
