Skip to content
Extraits de code Groupes Projets
Valider 7583cca0 rédigé par Loïc DUBARD's avatar Loïc DUBARD :speech_balloon:
Parcourir les fichiers

les pions peuvent avancer de 2 cases au départ

parent f3cd7fc2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -53,7 +53,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int ...@@ -53,7 +53,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int
for (i=0 ; i<nb ; i++){ for (i=0 ; i<nb ; i++){
switch (tmp->chaine[0]){ switch (tmp->chaine[0]){
case 'P' : case 'P' :
valide=pions(tableau,i_src,j_src,*i_dest,*j_dest,*tour); valide=pions(tableau,N,i_src,j_src,*i_dest,*j_dest,*tour);
break; break;
case 'R' : case 'R' :
valide=roi(i_src,j_src,*i_dest,*j_dest); valide=roi(i_src,j_src,*i_dest,*j_dest);
...@@ -91,7 +91,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int ...@@ -91,7 +91,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int
} }
} }
int pions(pile **tableau,int i_src,int j_src,int i_dest,int j_dest,int tour) int pions(pile **tableau,int N,int i_src,int j_src,int i_dest,int j_dest,int tour)
{ {
int k=0; int k=0;
if ("BN"[tour%2] == 'N'){ if ("BN"[tour%2] == 'N'){
...@@ -99,8 +99,13 @@ int pions(pile **tableau,int i_src,int j_src,int i_dest,int j_dest,int tour) ...@@ -99,8 +99,13 @@ int pions(pile **tableau,int i_src,int j_src,int i_dest,int j_dest,int tour)
} else { } else {
k=-1; k=-1;
} }
if (nb_de_pion(tableau[i_dest][j_dest],"BN"[tour%2+1])==0 && i_dest==i_src+k && j_dest==j_src){ if (nb_de_pion(tableau[i_dest][j_dest],"BN"[tour%2+1])==0 && j_dest==j_src){
return 1; if (i_dest==i_src+k)
return 1;
if (i_dest==i_src+k+k && longueur_pile(tableau[i_src+k][j_src])==0){
if (k<0 && i_src==N-2) return 1;
else if (k>0 && i_src==2) return 1;
}
} else if (i_dest==i_src+k && (j_dest==j_src+1 || j_dest==j_src-1)){ } else if (i_dest==i_src+k && (j_dest==j_src+1 || j_dest==j_src-1)){
return 1; return 1;
} }
......
...@@ -30,7 +30,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src,int *i_dest,int * ...@@ -30,7 +30,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src,int *i_dest,int *
* @assign * @assign
* @ensure : verifie que le déplacement est valide pour un pion * @ensure : verifie que le déplacement est valide pour un pion
*/ */
int pions(pile **tableau, int i_src,int j_src,int i_dest,int j_dest, int tour); int pions(pile **tableau,int N, int i_src,int j_src,int i_dest,int j_dest, int tour);
/* /*
* @require * @require
......
Aucun aperçu pour ce type de fichier
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter