Move.java
package fr.umontpellier.iut.conquest;
import java.util.Objects;
/**
* Modélise un coup.
*/
public class Move {
/**
* Ligne de départ.
*/
private final int row1;
/**
* Colonne de départ.
*/
private final int column1;
/**
* Ligne d'arrivée.
*/
private final int row2;
/**
* Colonne d'arrivée.
*/
private final int column2;
/**
* Constructeur.
*/
public Move(int row1, int column1, int row2, int column2) {
this.row1 = row1;
this.column1 = column1;
this.row2 = row2;
this.column2 = column2;
}
/**
* Getters.
*/
int getRow1() {
return row1;
}
int getColumn1() {
return column1;
}
int getRow2() {
return row2;
}
int getColumn2() {
return column2;
}
/**
* equals and hashCode.
* Un coup est identifié par ses attributs.
*/
@Override
public int hashCode() {
return Objects.hash(row1, column1, row2, column2);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Move m = (Move) o;
return ((this.row1 == m.row1) && (this.column1 == m.column1) && (this.row2 == m.row2) && (this.column2 == m.column2));
}
}