38 lines
1017 B
Java
38 lines
1017 B
Java
package fr.iut_fbleau.Avalam.logic;
|
||
|
||
import fr.iut_fbleau.Avalam.Color;
|
||
import fr.iut_fbleau.Avalam.Tower;
|
||
|
||
/**
|
||
* La classe <code>ScoreManager</code> gère le calcul des scores
|
||
* selon les règles officielles d’Avalam :
|
||
*
|
||
* Un joueur gagne 1 point par tour dont le sommet (couleur) lui appartient,
|
||
* indépendamment de la hauteur de la tour.
|
||
*
|
||
* Cette classe n’a aucune responsabilité autre que compter.
|
||
*
|
||
* @author
|
||
* @version 1.0
|
||
*/
|
||
public class ScoreManager {
|
||
|
||
/**
|
||
* Compte le nombre de tours dont le sommet appartient à la couleur donnée.
|
||
*
|
||
* @param c couleur du joueur (COLOR1 ou COLOR2)
|
||
* @param grid grille 9×9 contenant des tours ou null
|
||
* @return score du joueur
|
||
*/
|
||
public static int count(Color c, Tower[][] grid) {
|
||
int score = 0;
|
||
|
||
for (int i = 0; i < 9; i++)
|
||
for (int j = 0; j < 9; j++)
|
||
if (grid[i][j] != null && grid[i][j].getColor() == c)
|
||
score++;
|
||
|
||
return score;
|
||
}
|
||
}
|