niketou
Messages postés295Date d'inscriptiondimanche 4 mai 2003StatutMembreDernière intervention 6 décembre 2010
-
22 déc. 2006 à 15:19
niketou
Messages postés295Date d'inscriptiondimanche 4 mai 2003StatutMembreDernière intervention 6 décembre 2010
-
22 déc. 2006 à 16:55
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 .