From 7583cca098617cde82deb7f308bcf8b380f7e503 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Dubard?= <loic.dubard@ensiie.fr>
Date: Sun, 9 Dec 2018 14:02:48 +0100
Subject: [PATCH] =?UTF-8?q?les=20pions=20peuvent=20avancer=20de=202=20case?=
 =?UTF-8?q?s=20au=20d=C3=A9part?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/deplacement.c |  13 +++++++++----
 src/deplacement.h |   2 +-
 stackchess        | Bin 37128 -> 37224 bytes
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/deplacement.c b/src/deplacement.c
index cb02450..5ac75e2 100644
--- a/src/deplacement.c
+++ b/src/deplacement.c
@@ -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++){
         switch (tmp->chaine[0]){
           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;
           case 'R' :
             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
   }
 }
 
-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;
   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)
   } else {
     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){
-    return 1;
+  if (nb_de_pion(tableau[i_dest][j_dest],"BN"[tour%2+1])==0 && j_dest==j_src){
+    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)){
     return 1;
   }
diff --git a/src/deplacement.h b/src/deplacement.h
index 953bf50..2e021c4 100644
--- a/src/deplacement.h
+++ b/src/deplacement.h
@@ -30,7 +30,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src,int *i_dest,int *
  * @assign
  * @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
diff --git a/stackchess b/stackchess
index d5d40f291292aa9666dbdd2d91ea6ff9493a81c1..825ab593c4df81977e5f419fcd24b960f4b53b7b 100755
GIT binary patch
delta 2397
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

delta 2200
zcmah}dr(wW7(eIUh2_00FL4o8mPK}X_)bLyUF7Oju_0vz6jl^8OT|axBg{n?ke%x)
z%vViL)`S_AJ2mDV9ka$^%gND7n51G1M{H=?1o9DyHrnmndlrKJ>CW8w?(h80`F`K`
zJLg>Q38vu$(`dp0P3Buc{c%Wn`s2h1{4<VP<em}Hn$hy<5zp#%x^|dW)Kxzy2Cz3m
z1OL(?#JfTrI<YsrAso+#or%WDTNpAZaIFH$<T^A*Y!sdsP+hC0A%7Stq=i6OW*iH*
z6FK!QjF7;!L$@vl78rCm7i@-D90t1$W;Rzq;7N)J<D4Fg^AYd7?EQnxhHHj+yczlo
zrogvICMP%0yH}nD_9Qj)DhqRyj5rq7CM7ek`9nieIzA0&lQJfJ?ypoBD<D@sCZ)zY
z!+*O(TIO9@VH$+a%iViRAi$U!tR2QFkYzLzvFD9*#tl4>q)aY+e<WG)ZP?HXcdsP%
zBCwB-hH$eQveJU11g_(l=Z+q?JG!yCoqvOOMc;tO#(4Y4VMi-gm=8h`(wtL;Yc945
z)-JyMJKh!Yy<7_~SiL;H$_o*~vQEDI3h%ki672kn7iN2BkXq_mtHue|9)Wv;+cUYY
zDviK(&f&VN)aQvwsCUvxE?(fe9TBZKlk40WEPs3D&nh+CGewKp6B;n~z~z*=OzmCp
zGYNPQnoP6sMYw9Zj_<(RW)7c(9&;X3*bh@vXESmAVr8ldN4@KnB;NT2@8a(9&L8Cc
zS?Y!QG=0!Eh42Vm7c{5DKxu49q4S!|Kl)XY9Hd}U^c=2Z-?_#sUv8MF(bviiBaJ>6
zAxoiU<znZL7OSNo&y~E=fRL4UWyo=b#rbrx^I@L(7v9kqz<Zvu-Zed<KK(WeW$KzU
zlb^8MhP#q9@Vg`(CUHJ_<@kT^JHGkXeNhLN>1{c??nzRv3ZWP8OHu`i;l%J-5)YAh
zlEf(kl5~m0jz1--hs45%lBDuOD1A_pj3gc(6qi3^VC^oJG-e44uV)s7`m+seh&lj`
zBSR`Op4vyMl^Y-8nY%Kr@J7P_P572keDg4$OZeJ;N!mS%-!aTr5dNorDM30VABG_T
z_B}jQKrNZD9<-VIL@#O8F)Gde;WU@XtflZ=rXC~Mp1DY6BJG2AZ=_hJ4pc#B7SHsg
ziH7VPmRS=57A8jAXBitsj?C-U@j+`s<fI7c0>n?aWGsG@6VCus9HqMH|7I%aigoL6
zjtM2!F-=9<WD@bsq;fKyX)4fWDKLY=e63Z1vnb5dA_Xp>kdLTbN0vTIQEucmgl`2b
zWaT_%kuM<J4abV()NOt;9}Axq$E|3Kp{g6HYMX&Bt)QxH=@gbx)wUTFmQd9;3x!1}
zx<szRt>mo&^Qt(zTRW;7cRZcy>&Bfzp|2bF6bgOaxU(qaBR3)Zk(z?dC|WOz)F~og
zPms+-NZC*l@$py4In#!cUm&iF2vwDgaI!9eX7Fj(nJDyW*G;9+r(HKv`_Qm<%#N+Z
zzG_9g0Q9Tlxav?}UDT=SF%)j3PE{vTSV5ht9`X@Icd(?yN+r?9$zWftvsXrr+JZ{`
z&{AdNE6o)8wxDtvg}yDQ%%+fR!A#j5o09l~Q85Q8_epW5gZ%HQJ2v9Z2y<)+zN6!F
z$2Qs>+h})eL+)txa#|Zt)pKEENkXu4yA?GzG?gsWy447=O{eYDg7oEX@Rr15H~5!s
z!aCSdI-PvKUs{gcVzAAs!8UR27M{Tq#Zy~jux=S*RCtMBmK+ZH<&(e^`Gq+A;;O*3
zJ&6h0CFXB0QEU51FY<HW7a3^Y8%h3v2613d0haIMl9yXpraKKDywYO$@2QbbPXr1>
z|M~?N_GjZNc)WiSL#}12eIiK#tL!bf0C3G1hU}QG<_O*fAJz<F7c?K(iep9X!NEWr
z0fC1n1@)xSa)@ru;e{+#gY)Q2>;TWvd4ZYhDYp*-8)q_SUxJ**Y#ajz8t36X;Ax!4
UoIVIlQ+CjqdOFXF;c7#|KYK)qCIA2c

-- 
GitLab