/*config : la configuration de départ c'est une map qui a comme clé une position et Contenu comme valeur. Contenue désigne ce que elle contient une position (vide, un pion noir ou blanc ) n: hauteur de la grille m : longueur de la grille */ public static int calculConfig(int n ,int m,HashMap config ){ if (onePlayerWon(isWhiteTurn, n, m, config)){ // si un joueur a gagné on retourne 0 c'est a dire la valeur la configuration n'a pas de successeur return 0; } else { boolean verif=true; int max=0; int max_neg=-100; int resultCall; List> listOfNextConfigs=getAllConfigPossible(isWhiteTurn, n,m,config);// renvoie la liste des configurations qui succèdent config for(int i=0;imax_neg && resultCall<0)// calcule du maximum négative des successeurs si il existe { max_neg=resultCall; } if (resultCall>max) calcule du maximum des successeurs { max=resultCall; } if(resultCall<0){ //si il existe un successeur négative on change la valeur de verif. verif=false; } } if (verif==true){// si il existe un successeur négative donc on retourne 1+(max)*(-1) return 1+(max)*(-1); } else{ //sinon on retourne (max_neg-1)*(-1); return (max_neg-1)*(-1); } } }