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