/* Le but de cet algorithme est d'implémenter la méthode MinMax au jeu TicTacToe9x9. La fonction d'évaluation est ici plus compliqué elle retourne 10 sur le noeud
si l'ordi gagne une case et -10 si l'ordi perd une case. Cet algorithme est implémenté avec l'amélioration alpha beta.
*/
Joueurhumain;
Joueurhumain;
Joueurordi;
Joueurordi;
...
@@ -27,26 +30,24 @@ public class AlgoRechercheMinMax_9x9 extends AlgoRecherche {
...
@@ -27,26 +30,24 @@ public class AlgoRechercheMinMax_9x9 extends AlgoRecherche {
/* minimax prend en paramètre un plateau, le joueur qui va jouer, la profondeur, un boolean pour savoir si on doit maximiser ou minimiser et des doubles
alpha et beta pour implémenter la méthode alpha beta.
*/
if(_plateau.partieTerminee()){
if(_plateau.partieTerminee()){
if(_plateau.partieNulle()){
if(_plateau.partieNulle()){
// System.out.println("Partie nulle");
return0;
return0;
}
}
else{
else{
Joueurgagnant=_plateau.vainqueur();//Il faudrait connaitre le vainqueur
Joueurgagnant=_plateau.vainqueur();//Il faudrait connaitre le vainqueur
// System.out.println("gagnant " + gagnant);
if(gagnant!=null){
if(gagnant!=null){
intresultat=gagnant.getIdJoueur();
intresultat=gagnant.getIdJoueur();
// System.out.println("resultat " + resultat);
returnscores[resultat];}
returnscores[resultat];}
else{
else{
return0;
return0;
}
}
}
}
}
}
if(profondeur>1){
if(profondeur>5){
returnevaluation(_plateau);
returnevaluation(_plateau);
}
}
...
@@ -85,19 +86,15 @@ public class AlgoRechercheMinMax_9x9 extends AlgoRecherche {
...
@@ -85,19 +86,15 @@ public class AlgoRechercheMinMax_9x9 extends AlgoRecherche {