Q_HumainVsMinMax2+.py 942 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from Outils.Moteur_de_jeu import *
  2. from Outils.Moteur_de_jeu.Partie import *
  3. from Outils import IA_MinMax
  4. from Outils.IA_MinMax import *
  5. from test_heuristique import *
  6. def fct_eval(plateau, num) :
  7. nIA = plateau.longueur_chemin(num)
  8. n_opponent = plateau.longueur_chemin(1-num)
  9. b_IA = plateau.barrieres_restantes[num]
  10. b_opponent = plateau.barrieres_restantes[1-num]
  11. c = 0
  12. d = 0
  13. """
  14. if deux_chemins(plateau,num) : c = -4
  15. if deux_chemins (plateau,1-num) : d = 3
  16. """
  17. return -nIA - f(n_opponent) + 3 * b_IA - g(b_opponent)
  18. def f(n) :
  19. t = [1000000000,1000000,50,46,42]
  20. a = len(t)
  21. if n< a : return t[n]
  22. else :
  23. return 46 -n
  24. def g(b) :
  25. t = [1,0,-1,-2,-3,-4,-6,-8,-10,-12,-16]
  26. return t[10-b]
  27. joueurA = Humain("Humain")
  28. joueurB = IA_minmax("MinMax2+", fct_eval, 2)
  29. Global.partie = Partie(joueurA, joueurB, True, Partie.DOSSIER_STANDARD)
  30. Global.partie.demarrer()