Commit 1206c04c authored by TRAN Alain's avatar TRAN Alain

Replace AlgoRechercheMinMax.java

parent 9da78a8c
......@@ -24,7 +24,7 @@ public class AlgoRechercheMinMax extends AlgoRecherche {
}
String[][] grille = {{"","",""},{"","",""},{"","",""}};
double[] scores = {1,-1,0};
double[] scores = {-1,1,0};
@Override
public Coup meilleurCoup(Plateau _plateau, Joueur _joueur, boolean ponder){
......@@ -34,14 +34,16 @@ public class AlgoRechercheMinMax extends AlgoRecherche {
ArrayList<Coup> coups = _plateau.getListeCoups(ordi);
for (int i = 0; i < coups.size(); i++){
_plateau.sauvegardePosition(0);
_plateau.joueCoup(coups.get(i));
System.out.println(_plateau);
System.out.println("coup initial");
double score = minimax(_plateau,humain,0,false); //False car l'ordi a déjà placé son premier coup
//System.out.println(_plateau);
//System.out.println("coup initial");
double score = minimax(_plateau,humain,1,false); //False car l'ordi a déjà placé son premier coup
Coup coup_provisoire = coups.get(i);
_plateau.annuleDernierCoup();
System.out.println("annule coup initial");
System.out.println(_plateau);
// _plateau.annuleDernierCoup();
_plateau.restaurePosition(0);
//System.out.println("annule coup initial");
//System.out.println(_plateau);
if (score > bestScore){
bestScore = score;
meilleur_coup = (CoupTicTacToe)coup_provisoire;
......@@ -68,15 +70,17 @@ public class AlgoRechercheMinMax extends AlgoRecherche {
double bestScore = -1 * inf;
ArrayList<Coup> coups = _plateau.getListeCoups(ordi);
for (int i = 0; i < coups.size(); i++){
_plateau.sauvegardePosition(profondeur);
_plateau.joueCoup(coups.get(i));
System.out.println(_plateau);
System.out.println("coup ordi");
//System.out.println(_plateau);
//System.out.println("coup ordi");
double score = minimax(_plateau,humain,profondeur + 1,false);
System.out.println("dernier coup " + _plateau.getDernierCoup());
_plateau.annuleDernierCoup();
System.out.println(_plateau);
System.out.println("coup ordi annulé");
System.out.println("dernier coup " + _plateau.getDernierCoup());
//System.out.println("dernier coup " + _plateau.getDernierCoup());
//_plateau.annuleDernierCoup();
_plateau.restaurePosition(profondeur);
//System.out.println(_plateau);
//System.out.println("coup ordi annulé");
//System.out.println("dernier coup " + _plateau.getDernierCoup());
bestScore = max(score,bestScore);
}
return bestScore;
......@@ -86,15 +90,17 @@ public class AlgoRechercheMinMax extends AlgoRecherche {
double bestScore = inf;
ArrayList<Coup> coups = _plateau.getListeCoups(humain);
for (int i = 0; i < coups.size(); i++){
_plateau.joueCoup(coups.get(i)); // problème : Il faut que ce soit l'autre joueur qui joue ici
System.out.println(_plateau);
System.out.println("coup humain");
_plateau.sauvegardePosition(profondeur);
_plateau.joueCoup(coups.get(i));
//System.out.println(_plateau);
//System.out.println("coup humain");
double score = minimax(_plateau,ordi,profondeur + 1,true);
System.out.println("dernier coup " + _plateau.getDernierCoup());
_plateau.annuleDernierCoup();
System.out.println(_plateau);
System.out.println("coup humain annulé");
System.out.println("dernier coup " + _plateau.getDernierCoup());
//System.out.println("dernier coup " + _plateau.getDernierCoup());
//_plateau.annuleDernierCoup();
_plateau.restaurePosition(profondeur);
//System.out.println(_plateau);
//System.out.println("coup humain annulé");
//System.out.println("dernier coup " + _plateau.getDernierCoup());
bestScore = min(score,bestScore);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment