Beispiel #1
0
 /** permet d'evaluer la configuration en lui associant un entier */
 public int evaluer(ArrayList<Composante> ilotsJoueur, ArrayList<Composante> ilotsAdverses) {
   int valCourant = 0;
   int valAdvers = 0;
   // somme des evaluations de toutes les zones du joueur courant
   for (int l = 0; l < tabZones.get(donnees.getJoueurCourant()).size(); l++) {
     valCourant += tabZones.get(donnees.getJoueurCourant()).get(l).evaluer();
   }
   // evaluation des ilots du joueur
   for (int c = 0; c < ilotsJoueur.size(); c++) {
     valCourant += ilotsJoueur.get(c).getNbPoissons();
   }
   // evaluation des ilots adverses
   for (int c = 0; c < ilotsAdverses.size(); c++) {
     valAdvers += ilotsAdverses.get(c).getNbPoissons();
   }
   // parcours des zones des adversaires
   for (int i = 0; i < donnees.getNbJoueurs(); i++) {
     // si c'est un adversaire
     if (i != donnees.getJoueurCourant()) {
       for (int l = 0; l < tabZones.get(i).size(); l++) {
         valAdvers += tabZones.get(i).get(l).evaluer();
       }
     }
   }
   Joueur courant = donnees.getJoueurs()[donnees.getJoueurCourant()];
   if (courant.getDifficulte() == 3) {
     valCourant += 2 * courant.getNombrePoissons();
     for (int j = 0; j < donnees.getNbJoueurs(); j++) {
       if (j != donnees.getJoueurCourant()) {
         valAdvers += 2 * donnees.getJoueurs()[j].getNombrePoissons();
       }
     }
   }
   return valCourant - valAdvers;
 }
Beispiel #2
0
 /** permet d'evaluer la configuration en lui associant un entier */
 public int evaluer() {
   int valCourant = 0;
   int valAdvers = 0;
   // somme des evaluations de toutes les zones du joueur courant
   for (int l = 0; l < tabZones.get(donnees.getJoueurCourant()).size(); l++) {
     valCourant += tabZones.get(donnees.getJoueurCourant()).get(l).evaluer();
   }
   // parcours des zones des adversaires
   for (int i = 0; i < donnees.getNbJoueurs(); i++) {
     // si c'est un adversaire
     if (i != donnees.getJoueurCourant()) {
       for (int l = 0; l < tabZones.get(i).size(); l++) {
         valAdvers += tabZones.get(i).get(l).evaluer();
       }
     }
   }
   return valCourant - valAdvers;
 }