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;
|
|||
|
|
}
|
|||
|
|
}
|