saadabdi
Messages postés4Date d'inscriptionsamedi 6 septembre 2008StatutMembreDernière intervention 5 janvier 2011
-
5 janv. 2011 à 13:57
saadabdi
Messages postés4Date d'inscriptionsamedi 6 septembre 2008StatutMembreDernière intervention 5 janvier 2011
-
5 janv. 2011 à 18:15
Bonjour tout le monde,
Je suis sur plusieurs semaines un problème et je me retourne à vous.
Je suis en train de programmer un jeu d'échec avec IA et j'avais choisi d'utiliser l'algorithme classique MinMax.
Tout marche bien sauf la partie de MinMax , et je n'arrive pas vraiment à trouver là ou j'ai le réel problème.
Je vais poster mon code et s'il vous plait pour ceux qui ont déjà programmer un jour un jeu d'échec ou qui ont de l'experience avec cet algorithme veuillez me venir en aide.
cs_jojolemariole
Messages postés519Date d'inscriptionmercredi 21 mars 2007StatutMembreDernière intervention19 décembre 201625 5 janv. 2011 à 17:32
Salut,
Tu ne nous dis pas quel est ton problème.
Je suis un peu surpris de voir cette ligne dans la méthode maxMove :
listeCoups=fenetre.getEchiquierCourant().coupPossiblesBlanc(i,j);
tandis qu'on voit cette ligne dans la méthode minMove :
listeCoups=fenetre.getEchiquierCourant().coupPossiblesNoir(coup.getSourceLigne(), coup.getSourceColonne());
saadabdi
Messages postés4Date d'inscriptionsamedi 6 septembre 2008StatutMembreDernière intervention 5 janvier 2011 5 janv. 2011 à 18:15
Bonjour,
Mon problème c'est que la fonction ne me retourne pas le coup(meilleur) que j'attendais.
Les fonctions coupPossiblesNoir(ligne,colonne) et coupPossiblesBlanc(ligne,colonne) vont le même travail sauf que la couleur de pièce est différente.
A partir d'une position donnée(ligne , colonne) je veux tous les coups possibles qu'une pièce (blanche ou noir) peut effectuer sur le plateau en cours.
Pour le :fenetre.getEchiquierCourant() me retourne le plateau courant.
En fait à l'exécution ça me prend beaucoup de temps jusqu'à ce que ça se bloque.