Classe Tower Optimisé
This commit is contained in:
@@ -61,10 +61,10 @@ public class BoardLoader {
|
||||
|
||||
switch (value) {
|
||||
case 1:
|
||||
grid[row][col] = new Tower(Color.YELLOW);
|
||||
grid[row][col] = Tower.createTower(Color.YELLOW);
|
||||
break;
|
||||
case 2:
|
||||
grid[row][col] = new Tower(Color.RED);
|
||||
grid[row][col] = Tower.createTower(Color.RED);
|
||||
break;
|
||||
default:
|
||||
grid[row][col] = null;
|
||||
|
||||
@@ -9,33 +9,21 @@ package fr.iut_fbleau.Avalam;
|
||||
* - une hauteur (nombre de pions empilés)
|
||||
*
|
||||
* Cette version est volontairement compatible avec le reste du projet :
|
||||
* - constructeur Tower(Color) utilisé par BoardLoader
|
||||
* - constructeur Tower(int, Color) utilisé dans d'autres parties possibles
|
||||
* - usine createTower(Color) utilisé par BoardLoader
|
||||
* - méthode mergeTower(Tower) utilisée par AvalamBoard
|
||||
* - méthode merge(Tower) conservée (si elle est utilisée ailleurs)
|
||||
*/
|
||||
public class Tower {
|
||||
|
||||
//Attributs
|
||||
|
||||
/** Hauteur de la tour (nombre de pions empilés). */
|
||||
private int height;
|
||||
private byte height;
|
||||
|
||||
/** Couleur du sommet de la tour (propriétaire actuel). */
|
||||
private Color color;
|
||||
|
||||
//Constructeur
|
||||
|
||||
/**
|
||||
* Construit une tour de hauteur 1 avec la couleur donnée.
|
||||
* (Constructeur attendu par BoardLoader dans ton projet.)
|
||||
*
|
||||
* @param color couleur du sommet
|
||||
*/
|
||||
public Tower(Color color) {
|
||||
this(1, color);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construit une tour avec une hauteur et une couleur données.
|
||||
*
|
||||
@@ -43,10 +31,20 @@ public class Tower {
|
||||
* @param color couleur du sommet
|
||||
*/
|
||||
public Tower(int height, Color color) {
|
||||
this.height = height;
|
||||
this.height = (byte) height;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construit une tour de hauteur 1 avec la couleur donnée.
|
||||
* (Constructeur attendu par BoardLoader dans le projet.)
|
||||
*
|
||||
* @param color couleur du sommet
|
||||
*/
|
||||
public static Tower createTower(Color color) {
|
||||
return new Tower(1, color);
|
||||
}
|
||||
|
||||
//Méthodes
|
||||
|
||||
/**
|
||||
@@ -73,20 +71,11 @@ public class Tower {
|
||||
*
|
||||
* @param src tour source empilée sur la destination
|
||||
*/
|
||||
public void merge(Tower src) {
|
||||
public void mergeTower(Tower src) {
|
||||
this.height += src.height;
|
||||
this.color = src.color;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias de merge() pour compatibilité avec d'autres classes.
|
||||
*
|
||||
* @param src tour source empilée sur la destination
|
||||
*/
|
||||
public void mergeTower(Tower src) {
|
||||
merge(src);
|
||||
}
|
||||
|
||||
//Affichage
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user