Commit 49d11e8c authored by Le noob du 53's avatar Le noob du 53

mise à jour

parent 4f5ab9d7
......@@ -11,11 +11,11 @@ import java.util.ArrayList;
/**
*
* @author senda
*/
public class AlgoRecherMinMax1 extends AlgoRecherche {
ArrayList ListCoup;
public AlgoRecherMinMax1() {
/*public AlgoRecherMinMax1() {
}
......@@ -26,4 +26,12 @@ public class AlgoRecherMinMax1 extends AlgoRecherche {
return ;
}
}
}*/
/* L'idée c'est :
- Créer un arbre de coups :
On récupère les coups dispo
On fait toutes les possibilités d'enchaînement de coups (<N, <MaxCoupsRestants)
- On applique MinMax
- On rend le meilleur coup selon notre algorythme
*/
\ No newline at end of file
......@@ -12,19 +12,23 @@ import java.util.ArrayList;
* @author senda
*/
public class Arbre {
private Fraction value;
private ArrayList<Coup> coups;
private ArrayList<Arbre> fils;
public static int N = 5;
protected Fraction value;
protected ArrayList<Coup> coups;
protected ArrayList<Arbre> fils;
// Les constructeurs :
public Arbre(){
}
public Arbre (Fraction value, ArrayList coups, ArrayList fils){
this.value = value;
this.fils = fils;
this.coups = coups;
}
public Arbre (int den, int num, ArrayList coups, ArrayList fils){
public Arbre (int num, int den, ArrayList coups, ArrayList fils){
this.value.den = den;
this.value.num = num;
this.fils = fils;
......@@ -47,7 +51,7 @@ public class Arbre {
this.value = value;
}
public Arbre (int den, int num){
public Arbre (int num, int den){
this.value.den = den;
this.value.num = num;
}
......@@ -57,7 +61,7 @@ public class Arbre {
return(value.getNote());
}
public ArrayList getfils(){
public ArrayList<Arbre> getfils(){
return(fils);
}
......@@ -65,6 +69,10 @@ public class Arbre {
return(coups);
}
public Fraction getFrac(){
return(this.value);
}
//Des choses sans nom :
public void setvalue(Fraction value){
this.value = value;
......
......@@ -6,6 +6,7 @@
package tictactoecodingame;
import java.util.ArrayList;
import static tictactoecodingame.Generator.random_tests;
/**
*
......@@ -123,7 +124,7 @@ public class ArbreMinMax {
return m;
}
public void MinMax(int h){
public void MinMax(int h,Plateau plateau, int nb_tests){
// h = hauteur, on l'incrémente comme un compteur
// N est la profondeur à explorer en MinMax, toutes les feuilles en N+1 sont évaluées
// La racine est un Max, donc impair -> Max, pair -> Min
......@@ -141,11 +142,11 @@ public class ArbreMinMax {
}
int a = this.getfils().size();
for(int i = 0; i < a ; i++){
this.getfils().get(i).MinMax(h + 1);
this.getfils().get(i).MinMax(h + 1,plateau,nb_tests);
}
}
else{//On a h > N, on utilise la fonction d'évaluation
int i = random_tests(plateau,nb_tests);
}
}
}
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