diff --git a/fr/iut_fbleau/Avalam/BoardLoader.java b/fr/iut_fbleau/Avalam/BoardLoader.java index a022013..a9c8fd0 100644 --- a/fr/iut_fbleau/Avalam/BoardLoader.java +++ b/fr/iut_fbleau/Avalam/BoardLoader.java @@ -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; diff --git a/fr/iut_fbleau/Avalam/Tower.java b/fr/iut_fbleau/Avalam/Tower.java index 6dcd39c..3015787 100644 --- a/fr/iut_fbleau/Avalam/Tower.java +++ b/fr/iut_fbleau/Avalam/Tower.java @@ -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 /**