from Outils.Arbre import * from Outils.Moteur_de_jeu import Joueur from Outils.Moteur_de_jeu.Joueur import * from Outils.Moteur_de_jeu.Plateau import * from Outils.Moteur_de_jeu.Coup import * from random import shuffle def evaluation (plateau,n,premier,num) : chemin = plateau.chemin(num) t = plateau.pourri_chemin(chemin) for k in t : if not plateau.barriere_possible(k): suppr(t,k) if chemin == [] : print("il y a eu des erreurs") return -10**100 if t == [] or n==0 : return len(chemin) #elif n == premier : # l = [] # for bar in t : # coup = Coup("B",barriere = bar) # plateau.executer_coup(coup) # l.append(evaluation(plateau,n-1,premier,num)) # # suppr(plateau.liste_barrieres , bar) # # # return(max(l)) else : l = [] n2 = plateau.longueur_chemin(num) n3 = plateau.longueur_chemin(1-num) for bar in t : coup = Coup("B",barriere = bar) plateau.executer_coup(coup) n1 = plateau.longueur_chemin(num) n4 = plateau.longueur_chemin(1-num) l.append(n1-n2-n3+n4) suppr(plateau.liste_barrieres , bar) k = max(l) for i in range (len(l)) : if l[i] == k: coup = Coup("B",barriere = t[i]) plateau.executer_coup(coup) return(evaluation(plateau,n-1,premier,num))