mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-03-28 17:13:43 +00:00
66 lines
1.6 KiB
Java
66 lines
1.6 KiB
Java
package object;
|
|
|
|
import java.io.Serializable;
|
|
|
|
/**
|
|
* Cet enumerateur prend en charge tout les mouvements possible
|
|
* pour le serpent, il a uniquement la possibilité de se déplacer
|
|
* grâce a {@link Mouvements} pour la classe Player et Robot.
|
|
*/
|
|
@SuppressWarnings("unused")
|
|
public enum Mouvements implements Serializable {
|
|
/**
|
|
* HAUT prend comme coordonnée (0, -1) pour se déplacer.
|
|
* @param x = 0
|
|
* @param y = -1
|
|
*/
|
|
HAUT(0, -1),
|
|
|
|
/**
|
|
* BAS prend comme coordonnée (0, 1) pour se déplacer.
|
|
* @param x = 0
|
|
* @param y = 1
|
|
*/
|
|
BAS(0, 1),
|
|
|
|
/**
|
|
* GAUCHE prend comme coordonnée (1, 0) pour se déplacer.
|
|
* @param x = -1
|
|
* @param y = 0
|
|
*/
|
|
GAUCHE(-1, 0),
|
|
|
|
/**
|
|
* @DROITE prend comme coordonnée (-1, 0) pour se déplacer.
|
|
* @param x = 1
|
|
* @param y = 0
|
|
*/
|
|
DROITE(1, 0);
|
|
|
|
private final int deltaX;
|
|
private final int deltaY;
|
|
|
|
Mouvements(int deltaX, int deltaY) {
|
|
this.deltaX = deltaX;
|
|
this.deltaY = deltaY;
|
|
}
|
|
|
|
/**
|
|
* Cette fonction prend les coordonnées mis en paramètre et
|
|
* modifie avec les coordonnées de l'enum.
|
|
* @param coordinate prend principalement les coordonnées du
|
|
* personnage
|
|
*/
|
|
public void updateCoordinate(int[] coordinate) {
|
|
coordinate[0] += this.deltaX;
|
|
coordinate[1] += this.deltaY;
|
|
}
|
|
|
|
/**
|
|
* Cette fonction retourne les coordonnées des valeurs du mouvement.
|
|
* @return la liste qui contient [0] = x et [1] = y
|
|
*/
|
|
public int[] getCoordinate() {
|
|
return new int[] {this.deltaX, this.deltaY};
|
|
}
|
|
} |