Rejouer les parties.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from math import log
  2. from Outils.Moteur_de_jeu import Plateau
  3. from Outils.Moteur_de_jeu.Plateau import *
  4. from Conversion import *
  5. import IA_alphabeta
  6. from Outils import Arbre
  7. from Outils.Arbre import *
  8. from Outils.Moteur_de_jeu import Partie
  9. from Outils.Moteur_de_jeu.Partie import *
  10. import math
  11. from random import shuffle
  12. import numpy
  13. from Outils import IA_MinMax
  14. from Outils.IA_MinMax import *
  15. """def recommencer (nom) :
  16. fichier = open (nom, "r")
  17. l = fichier.readlines()
  18. n = len(l)
  19. coups = [0]*n
  20. for i in range (n) :
  21. li = l[i] #le i-ième ligne
  22. coups[i] = coup_from_str (li) #transforme en coup"""
  23. class IA_rejouer(Joueur) :
  24. def __init__(self, nom, fichier, curseur) :
  25. Joueur.__init__(self,"O",nom)
  26. self.curseur = curseur
  27. self.liste_c = self.exploitation(fichier)
  28. def exploitation (self, fichier) :
  29. f = open (fichier, "r")
  30. l = f.readlines()
  31. n = len(l)
  32. coups = [0]*(n-2)
  33. for i in range (3, n-2) : #IL FAUDRA ROGNER LES LIGNES POUR NE PRENDRE QUE LES COUPS
  34. li = l[i]#la i-ième ligne
  35. #print (li)
  36. indexli = li.index(':')
  37. liprete = li[(indexli + 2):] #pour commencer à partir de la lettre
  38. #print (liprete)
  39. coups[i-3] = coup_from_str (liprete)
  40. f.close()
  41. return (coups)
  42. def calculer_coup( self, plateau, liste_coup) :
  43. coup_a_jouer = self.liste_c[self.curseur]
  44. print(coup_a_jouer)
  45. self.curseur = self.curseur + 1
  46. liste = plateau.liste_coups_possibles()
  47. for i in range(len(liste)) :
  48. if liste[i] == coup_a_jouer :
  49. return i #renvoie l'indice du coup à faire dans liste
  50. fich = "BDD_Elric/MinMax 3+ VS MinMax 3 19-03-2017 22h31min45s.txt"
  51. joueur1 = IA_rejouer ("j1", fich, 0)
  52. #joueur2 = IA_rejouer ("j2", fich, 1)
  53. Global.partie = Partie (joueur1, joueur1, True)
  54. Global.partie.demarrer()
  55. #liste = plateau.liste_coups_possibles()
  56. #for i in range(len(liste)) :
  57. # if liste[i] == coup :
  58. # return i #renvoie l'indice du coup à faire dans liste