51 lines
1.1 KiB
Java
51 lines
1.1 KiB
Java
package fr.iut_fbleau.Avalam;
|
||
|
||
/**
|
||
* Représente une tour dans le jeu Avalam.
|
||
*
|
||
* Une tour possède :
|
||
* - la couleur de son sommet
|
||
* - sa hauteur (nombre de pions)
|
||
*/
|
||
public class Tower {
|
||
|
||
private Color color;
|
||
private int height;
|
||
|
||
/** Nouvelle tour de hauteur 1 */
|
||
public Tower(Color color) {
|
||
this.color = color;
|
||
this.height = 1;
|
||
}
|
||
|
||
/** Tour avec couleur et hauteur existantes */
|
||
public Tower(Color color, int height) {
|
||
this.color = color;
|
||
this.height = height;
|
||
}
|
||
|
||
public Color getColor() {
|
||
return color;
|
||
}
|
||
|
||
public int getHeight() {
|
||
return height;
|
||
}
|
||
|
||
/**
|
||
* Fusionne this (destination) avec src (source).
|
||
* La source monte sur la destination →
|
||
* - la couleur du sommet devient celle de src
|
||
* - la hauteur s’additionne
|
||
*/
|
||
public void mergeTower(Tower src) {
|
||
this.color = src.color;
|
||
this.height = this.height + src.height;
|
||
}
|
||
|
||
@Override
|
||
public String toString() {
|
||
return color + "(" + height + ")";
|
||
}
|
||
}
|