IA_alphabeta.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from Outils.arbre_alpha_beta import *
  2. from Outils.Moteur_de_jeu import Joueur
  3. from Outils.Moteur_de_jeu.Joueur import *
  4. from Outils.Arbre import *
  5. from Outils.Moteur_de_jeu import Distance
  6. from Outils.Moteur_de_jeu.Distance import *
  7. class IA_minmax_alpha_beta(Joueur) :
  8. dist = None
  9. def __init__(self, nom, fct_eval, prof) :
  10. """
  11. la fonction d'évaluation sera donnée en entrée, et évaluera les positions.
  12. prof est la profondeur
  13. """
  14. Joueur.__init__(self,"O",nom)
  15. self.fct_eval = fct_eval
  16. self.prof = prof
  17. def calculer_coup( self, plateau, liste_coup) :
  18. #1. : avoir l'arbre
  19. #2. : calculer le coup
  20. #3 : le ressortir (trouver son indexation dans la liste des coups)
  21. #etape 1
  22. #etape 2
  23. """
  24. t = arb.fils
  25. l=[]
  26. maxi = t[0][1].valeur
  27. for i in range(len(t)) :
  28. l.append (t[i][1].valeur)
  29. if t[i][1].valeur >= maxi :
  30. maxi = t[i][1].valeur
  31. print(l)"""
  32. IA_minmax_alpha_beta.dist = distance_a_star( plateau )
  33. return obtenir_coup (self.num, plateau, self.fct_eval, self.prof)