from Outils.Moteur_de_jeu import * from Outils.Moteur_de_jeu.Partie import * from Outils import IA_alphabeta from Outils.IA_alphabeta import * from Outils import IA_Stats from Outils.IA_Stats import * def fct_eval(plateau, num) : return plateau.longueur_chemin(1 - num) - plateau.longueur_chemin(num) def lire_fichier(nom) : fichier = open(nom,"r") tab_reussites = [] tab_total = [] l = fichier.readline() i = l.find("/") parties_gagnees = int(l[:i]) parties_total = int(l[i+1:]) l = fichier.readline() while "/" in l : i = l.find("/") tab_reussites.append(int(l[:i])) tab_total.append(int(l[i+1:])) l = fichier.readline() fichier.close() return (tab_reussites, tab_total, parties_gagnees, parties_total) def ecrire_fichier(nom, tab_reussites, tab_total, parties_gagnees, parties_total) : fichier = open(nom, "w") fichier.write(str(parties_gagnees) + "/" + str(parties_total) + "\n") for i in range(len(tab_reussites)) : fichier.write(str(tab_reussites[i]) + "/" + str(tab_total[i]) + "\n") fichier.close() def confrontation(profondeur) : joueurA = IA_minmax_alpha_beta("Adjoint",fct_eval,profondeur) joueurB = IA_stats("Stats", "stats.txt", IA_minmax_alpha_beta("Adjoint",fct_eval,profondeur)) nom_fichier = "Divers/Donnees_stats/" + "resultats_profondeur_" + str(profondeur) + ".txt" try : (tab_reussites, tab_total, nombre_victoires, nombre_parties) = lire_fichier(nom_fichier) except : (tab_reussites, tab_total, nombre_victoires, nombre_parties) = ([],[],0,0) i = 0 while True : joueurB.tab_reussites = [] Global.partie = Partie(joueurA, joueurB, False, "") gagnant = Global.partie.demarrer() nombre_parties += 1 i += 1 if gagnant.nom == "Stats" : nombre_victoires += 1 tab = joueurB.tab_reussites for n in range(len(tab)) : try : tab_total[n] += 1 except : tab_total.append(1) tab_reussites.append(0) if tab[n] : tab_reussites[n] += 1 print(str(i) + " partie terminée") ecrire_fichier(nom_fichier, tab_reussites, tab_total, nombre_victoires, nombre_parties)