12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- 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)
-
|