Moteru echecs

Signaler
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010
-
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010
-
Salut j'ai besoin d'un coup de main pour fair mon moteur d'echecs.

void Thinking(unsigned short t[8][8],int a,bool white){//t[8][8] ==plateau du jeu
 unsigned short f[8][8];
int k,l,m;


 if(a==0){// on va calculer toutes les possibilites de profondeur a.
   NewComp=Value(t);//une fois que a= 0 on calcule les points dans le plateau
  if (white==false){ // la par defaut l'ordi est les noirs
   if(OldComp>=NewComp){//oldcomp est l'ancienne valeur du plateau
    endz[0]=begz[0]; //si la valeur du plateau ancienne vaut moins que la nouvelle
                endx[0]=begx[0];// alors les noirs on gagné des points on joue ce coup
    endz[1]=begz[1];
                endx[1]=begx[1];
    NewType=OldType;// type de piece (cavalier,fou,etc)
    OldComp=NewComp;}
  }
  return;
 }//


for(k=0;k<8;k++){
for(l=0;l<8;l++){


List res=MovePossible(t,k,l,white);// renvoit une liste de tout les coup possible d'une piece
for(m=0;m<res.width ;m++){//res.width == nombre de coup possible de la piece
memcpy(f,t, sizeof f);


if(a==5){// a vaut 5 a l'appel de la fonction on lui attribu un premier coup
 OldType=res.type[m];//oldtype c'est le type de piece(pion,cavalier,fou..)
begx[1]=res.x[m];
begz[1]=res.z[m];
begz[0]=k;
begx[0]=l;
}
  f[res.z[m]][res.x[m]]=f[k][l];
 f[k][l]=0;
 switch(white){
 case(true):
Thinking(f,a-1,false);
break;
 case(false):
Thinking(f,a-1,true);
break;
 }
}
}
}}

Merci de m'aider a ameliorer ce bout de code svp .

2 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
21
Ce serait pas mal de dire en quoi on peut t'aider car là juste une bout de cout je vois pas trop comment on peut t'aider.

bonnes fêtes
++
Messages postés
295
Date d'inscription
dimanche 4 mai 2003
Statut
Membre
Dernière intervention
6 décembre 2010

Salut Laurent.
Ben apparament ca marche mais.il ne trouve pas le meilleur coup.
Genre il joue pion en prise ou a7-a5.


Ma methode pour calculer le meilleur coup n'a pas l'air d'etre bonne.