bon, ce prog je l'ai juste écris pour la partie algorithmique qui m'intéressait, le reste c'est de la pature graphique. Voila je vous laisse plancher dessus :o)
Vous pouvez y jouer dans le zip(Attention garder l'arborescence)
Version du : 4/06/2002
Source / Exemple :
//Algorithme de recherche de la meilleure solution
int CGrille::Algo(BYTE n, int alpha, int beta, BYTE CouleurCourrante)
{
BYTE j;
int Maxi = -INFINI;
// ======== ALGORITHME Négamax =========== //
// *************************************** //
// *************************************** //
if (!n)
{
return this->evalStatiq(CouleurCourrante);
}//if (!n)
//Sinon faire la récursivité
else
{
for(BYTE kmax=0;kmax < 7 && alpha < beta; kmax++)
{
j=RenvoieLignePionPHaut(kmax);
if(!j)
continue;
//Inser le Pion
this-> inserPion(kmax,CouleurCourrante);
//Test si il y a un gagnant
if(this->gagne() & CouleurCourrante)
{
if( n == Profondeur )
LaColonne = kmax;
//Retire le pion
this-> retirePion(kmax);
return 1000000;
}
Maxi = alpha;
alpha = max(alpha, -Algo(n-1, -beta, -alpha,CouleurInverse(CouleurCourrante)));
//Retire le pion
this-> retirePion(kmax);
//Si c la première fois ke l'algo est lancé, on enregistre LaColonne ...
if( n == Profondeur )
{
if(alpha > Maxi)
LaColonne = kmax;
}
}//for (7 colonnes)
return alpha;
}//fin else du if(!n)
}
Conclusion :
Nouvelle version !!!. Voila, Si vous avez des suggestions : galett@voila.fr
version : 04/06/2002
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.