1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from Outils.Moteur_de_jeu import *
- from Outils.Moteur_de_jeu.Partie import *
- from Outils import IA_MinMax
- from Outils.IA_MinMax import *
- from test_heuristique import *
- def fct_eval(plateau, num) :
- nIA = plateau.longueur_chemin(num)
- n_opponent = plateau.longueur_chemin(1-num)
- b_IA = plateau.barrieres_restantes[num]
- b_opponent = plateau.barrieres_restantes[1-num]
- c = 0
- d = 0
- """
- if deux_chemins(plateau,num) : c = -4
- if deux_chemins (plateau,1-num) : d = 3
- """
- return -nIA - f(n_opponent) + 3 * b_IA - g(b_opponent)
- def f(n) :
- t = [1000000000,1000000,50,46,42]
- a = len(t)
- if n< a : return t[n]
- else :
- return 46 -n
- def g(b) :
- t = [1,0,-1,-2,-3,-4,-6,-8,-10,-12,-16]
- return t[10-b]
- joueurA = Humain("Humain")
- joueurB = IA_minmax("MinMax2+", fct_eval, 2)
- Global.partie = Partie(joueurA, joueurB, True, Partie.DOSSIER_STANDARD)
- Global.partie.demarrer()
|