From cff74c28d57fa4d7738df57d753f6730d1e5995d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dubard?= <loic.dubard@ensiie.fr> Date: Fri, 9 Nov 2018 22:04:38 +0100 Subject: [PATCH] rajout de action.c --- Makefile | 2 +- obj/affichage.o | Bin 9776 -> 9776 bytes obj/main.o | Bin 6912 -> 7128 bytes src/action.c | 20 ++++++++++++++++++++ src/action.h | 7 +++++++ src/couleur.h | 4 ++-- src/main.c | 8 +++++++- stackchess | Bin 24464 -> 26216 bytes 8 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 src/action.c create mode 100644 src/action.h diff --git a/Makefile b/Makefile index fb67bf3..c2f7e77 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ CC=gcc -Wall -Wextra -ansi -g -std=c99 -stackchess : main.o tableau.o affichage.o +stackchess : main.o tableau.o affichage.o action.o cd obj && $(CC) $^ -o ../$@ main.o : src/main.c diff --git a/obj/affichage.o b/obj/affichage.o index 03ac6e4ac6746c821f36950b76d322066814e47e..999b43d7edff1a0c59337cf34a2ac0bbdd92d2c9 100644 GIT binary patch delta 43 ucmdnsv%zOW0xP58<V03!AX&?5%3^43Y&iKIs|+Ut7)VDOZobVLssI2Aw+ik6 delta 43 ucmdnsv%zOW0xP4z<V03!AX&?5%3@$`Y&iKIs|+Ut7)VDOY`)DJssI2AS_<j_ diff --git a/obj/main.o b/obj/main.o index 74d76029f69338a80620f4437b9ae73dffa108d1..598a18072a9f40b036a0464905ac57eea6164e30 100644 GIT binary patch delta 1406 zcmZ9MU1$_n6vyuwvmdkB-Py^0+}x;`Z6husj_ZTdJj7(9iz97A60rF3uvu5dfJ8}R zUy8J*P`U)s;j}c0AOZ0~q}VP<6czKL4T1)JQIiK(Fp7%qzDkPTJ98Ig4%~a@oZtVR zd+rQ(e%bQGJd;tTQug}QY*YEfqE$XVe=oo6CxrZZViCsMt;zhnJ#?YhI+g!mmG4@o zx;P>;VtOqm?OOhWcKgocu4QZT`<hjLP`>Bn-`*PRC4+rrdoS7EN7k0e8|;8~s8{lk zTk&(iR}zb*)uo5?3o8iGMFfGUP$>3yGF&N;V)wN45l{mzI}&%K(NNW4LkSTI%ejuY zJQ1>atk?xY{J}~7=vRWTDoafr@O7dYbZ80i+y)`xgOH#zH>NtyCaIzUcKQDUhW^01 zRX!h4njn~U=D0H-_k|sQ48I9H_ZLg!!$(IdH29T*J)w?>bG}?O_M5UT;^+0&RL+Df zfI2>H{tF6NZKilE+)oRI;jyEo&d$PEsW@_oj2<i=86G=0T6q{&p=(YyBzpAm(dhEA z%r|i_&cFQ0wYOj7llU_7EnLTJl)_rv87(l)Ju2BIRUz)huy8g?*&Mj(0S}$PI<K%F zRn1_|N9KIgqv^x}jWR>l|HDHU@uWtf8_#M6+{8IvXIv_ud6XAXj~S50Tx<ukrDlWd ztI=&gPIH=*^niz6M9?W5LZ%zc`2u{0^B&Cv7In(b$?S}WzCc?y;2qBD6l;1=uX*@K ztn<|%_YX_o=q`xq7Rp9sHshfc9N=_8X1hJ~G@j&iN$$7DL$BaJoUWAgl7~jH%ITP- zGah;$^*Ck!%eVc=Lx(UIrx=R|aVWkU{>AHYgN?{aCck9D8t1!!kT75$W)l>uxHDm} zAEffMN7;^cf^N3tUN<BaVv+h=6y<i`vuc4<E+>8z*Cd@XRV(7E`mvZYl`QaUl)|g2 zOyjYZ%BWenzlLdQsy#A#k3}9$Mcwr^oaWI+afP^bV3nFMh^)0+`8|nyTeqqc;@`(D zj?=BCGLyt-Jo%^iMQ~ffG&A8R+{3z+sgT<P%fJ*q<%#(uwzX{y&5IYrEvDf9wk_)O Uup1u6={8e+ophtC{7`E?1MW8Ls{jB1 delta 1161 zcmZ9LUr1AN6vywm=H1=g=I(aqZ+EMhq$s@%eegCT*EPl2A5$qvinPLfu|E_0GsMt} zXi4BY4;CchLl0#S&Jkn~SWzYvWK>2$&LFVx!SxUtBK@xW?d2Z${eJhH&-a}3JMg<- z)V_+rQhw4M-?~Zh$9fmTv2&@Z+Esz$xGTMj(CrTo)TZKX_lgG&uF}t?*ynI;YJpPj ziM~z0Y_8^-8@QTkuBL&TMh*Nhn>-F$PMeT>LRT=GWhdNyn!|CD?tx&}6@2^%bA3AE z<BiS+4n$Lib-LE2Hp}EXYvTlQfJOxIb+Rb82(U>|U>0XAgkR(Es_+IpxX)CQCk8}U zu7xgW!9i0hc|k1X^_i&QkfqqUejUy3xW@0Y3H%4ENyL!?Z*svB23oGnI)o`}WB%#( z?(Q?u_O47Km#njy!S<GU8|W$HP5T~YoX>>Zj9BQYug#dYw}OaG`9#qm19uxVFR-7| z9!3ut=wVFc2VfrOsivHDxn$6kqU0dTCsyH(fo?<15rD@Sq5CNuaS#~B3Ht5DUyeGs zfn^ebdaRe~pc3N}QHEKUE><r)ODjH?0`MEtRMW#W4-Fc`LMMT57<2}dpN#!5Xcn>G zNwCi;YHJ4akNH+sJ=+<W?={3baNbFjM=VP<(2pp&h;p6Ly#_jm8m0GH^rV5x7@<^P zxuXW!i6bs@OBSV92JjbWXj%)4emBr(2y!co;xRb@9T=Ah+{OoTKsmtL9HsADx9r$o zF-?{GvCvJtO7<!Sjm9T0yU*({cBMcyzqe*8_%TRSAQ&Mbx+h4;Ojy1ZSBPrf!n}7F z^r+?~TPAA~qq?WRYHB{5@Tic7X-|kBld)W>GH+-9506nr<x?__)8GzMMn8uuiV7RC s%o~CrM(Dm16W$QNEaM+<mF1#76}4r+N?(QfEW2q7Mtv$cFySlt4<3`p`2YX_ diff --git a/src/action.c b/src/action.c new file mode 100644 index 0000000..a73cb62 --- /dev/null +++ b/src/action.c @@ -0,0 +1,20 @@ +#include<stdio.h> +#include<stdlib.h> +#include"tableau.h" +void realiser(char action,pile **tableau,int N) +{ + switch (action){ + case 'c' : + printf("c"); + break; + case 'd' : + printf("d"); + break; + case 'a' : + nettoyer(tableau,N); + exit(0); + break; + default : + printf("Spécial"); + } +} diff --git a/src/action.h b/src/action.h new file mode 100644 index 0000000..bd7fc22 --- /dev/null +++ b/src/action.h @@ -0,0 +1,7 @@ +#include"tableau.h" +/* + * @require + * @assign + * @ensure fait entrer dans le bon mode (abandon, selection ou déplacement) + */ +void realiser(char action,pile **tableau,int N); diff --git a/src/couleur.h b/src/couleur.h index 1323b6d..5aa752b 100644 --- a/src/couleur.h +++ b/src/couleur.h @@ -27,12 +27,12 @@ /** * @brief couleur VERT des pions blancs */ -#define PBLANCHE "\x1B[0;32m" +#define PBLANCHE "\x1B[1;32m" /** * @brief couleur ROUGE des pions noirs */ -#define PNOIRE "\x1B[0;31m" +#define PNOIRE "\x1B[1;31m" /** * @brief couleur blanche du background diff --git a/src/main.c b/src/main.c index b6ee7fa..ee70efb 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,6 @@ #include"tableau.h" #include"affichage.h" +#include"action.h" /*main.c*/ @@ -15,7 +16,12 @@ int main(int argc, char **argv) empiler(tableau[0], "RN"); empiler(tableau[0]+2,"DB"); empiler(tableau[0]+3,"DN"); - affichecouleur(tableau,N); + while (1){ + char action; + affichecouleur(tableau,N); + scanf("%c",&action); + realiser(action,tableau,N); + } nettoyer(tableau,N); return 0; } diff --git a/stackchess b/stackchess index 20256850c324160244ebdf068f264d88be8c80b5..3ff5910343ef0579d6d55db3db7dedd81c30aeb2 100755 GIT binary patch delta 6383 zcmeHLeN<G{7C&b`?;T)<VP+UcG`=eoW*9z2<uQYfUImdNp5O-`Aw5w{P<+*U`p~F! z9#G(ZPc2;uEiL<SiBUamEtCAHSALW&>seV(eOeg3gi6B#=k0Uvok{tx|9We6*Scrl zy?^`cv(MT4?0fEQKS=wI)Aoq4-cTZ5E{Tv`3p>U?s|(diY^b*56T5D=PU3d!AdK4i zGfIg)12d_EU#pO~4X}=`j~R}ZxY4v#5|dU)R2)n0Q<gq5<(|uh^Imzv-rJJ$+3x(a z2bh@<yeZxqQG1=(hCqz+4tg(CDXlbKY}Y`H$_fL@2%04FMPmCTlhQQtc@k@(QW*j5 zsI`kBYBySo1-HUHuCDgpYWvFN_DoXqU~MC*sHk1JygEC(Vr6yJ{rAB<)m@4#0>j03 z!ZB4&zLGG<*iErz&dCc#thKf1uaf*hmaQ67%QMXe<k{7iBT-Hwq!Zj~tF6)~v6Ze{ z(Mo7g&!@p~LT#lXa7n#2L69|ADC7W$U5aj!2lcGe{KRbx-PrW9gOJ5+-7c^7;g#?L z<5}0s^&+2#{C(}B0c@QAo#{PQE_g2p%@+rX?kQ+fzl**LZ6U=X$$1lXe3ol=LcTXd zO=Cz-0~!$8)Jqu29%{4*E$Wkq3y=0T^1gFp3{h*D@xwC34sNkS#v}+bj-9qsR^@!> z?h`Hg71!oa)FZ1LB|>w~W2i+0@1@3Ip(W=6GJVPDeBWYh-co-ION}v2Dc&__1@Ef& z-}Vf%**32^OB<tw7SH=ab1x^fkk{E#y@5B{dAo1p4WG~J8E)|mBlDst^bDXj-bC!s zmZ8*3s+Aa9Khl;lfT3juX5A!h?hO^1+A=<tp_E&o2%#<Gkc@;Q(o!<ata(3TR?<{x zt<7^q@V<o$^E9gMV;=UI(LKX!o-2kodPV)&1A_M?>L*~}`VW-gN)!vtU*CySZt<KI zwg_*YgZePF;=~9%5SB`xgcriLDn^E3hG`A8!%@>A+tQzWzGlxb#R*ULTwMJjy3ofQ zD27gRge5k}KX4`L9gJo!WWouvHRuMen&eVCTrpeb-uThy!xd&uUhc<6((MzaLrmIl z!HFCQ^!f&oX3r3gJH*EQPmAZ`1YC1A+id}*cYcKVmb#`y6i5pZ8-Qlq(%;bf07e}9 zs!^dYQpEgoGPLrDN&XC84|v%>9@XE%<dtUe10v`{b05w246o81oPaL(9YSHV2d0OI zDqgw{U1n?U(m;pj5km|00l}7=Y>&g`Z0>c7)0rF4_~UgLFq^3h4u>b$EGX{R;{Gt; zgBWzlkyxPCMM2xK21tAl)LR>a(gQp$w>39Z6X3u4!RNcI1&4J4)J6maoyA0uI_`j` zh{m7?0(=78h?tU48sI;_c5?&_t@}oBm2mk;-wvp-*_!@}c>6ntSx#X}g?fi@6AgGv zhBkPH4R7G|hN>Hbn}-%Pnwp2I8prgf9js=3@4;UE6Avz8&jNc+YAG4|Ij@s3GzSqQ zeJu#$`hA3ZQu23_G@e`z-1fQd-_P{^%U$BeVw3P}93dq_TQZ}?ZtuuU@3n$N<`*Zt zIil>_ezj+htxLTzI#ip$+#m!D(QfL5yP_kpT^608a!yWj!pZ2{aQ=iu&UeDG=%}XR z`oqsx*H+bGt&UVq-hc?J)$vz+zSBrwLCP}v2+|!$pC9n~%(zpZ8ua<nk$S%M`AU&4 zK>8rkWk|Om?LoQ^sp&hP?+nr@NQaPKL^>8<3|p`Id{dAfFc0~B3-BQwQ)e~O9Y~MB zvY0p;0Ua?8weSsw0FK7QWq0EfhCFbM#is>$x1no;OzPH$KBkx&BE1I*iAK?Cyvrdb zHjZ8bPiz!D3pLoDfJd?Y4t8Rj21l`-0+&#y7x=g+_gr)_R(X>><v3-qmLqJu9XN$D z3{pKl2gXw@WiY{tPmUno4Kw4Ws)KPZXL>r~qI7(x|Lp~X$qvPiF%WAnr)y!IJ&GQJ zE_*JHd)^*pERr1;ql32E!RW}Pm2j6MDkM+M1|$R*XE_05g%#R0bsJLz+a~$N`m9VP zHA1jkN*cdY9(fR7;Z|D`f(r5tPEA_IO<|JuEI2>Q1f3~5(?r~d5_ZlkVIM<7zJv)_ zfF*3dO~UG#)v~Y99#(3+IQnO7ga3px*W)?_1{Xo8QA|OqIAhI5qU5w6qMDL&PDT{k zzcHfHej*ArX|T{~3-K|g)wYCny9z}a7R@A-Xzzrloi@52-kW68Pr~t3BYX?0L~zUD z-w1pOp_3C0a~YtbA|mkN;7m;%r)4r7H9v%OF<-;DV5(*NrJhfM$0tWl_ynI-;WTUp z(zU$6G_2H6g51M=4UVmfpj;D5oB7jlAT_e-WhP6eycadL@cS8Om$**8mvIh>+r_`l zxD<)&=1(#%mFkkQ-#$K_jguyM(#!vaVHuSBJ4%lb-8Ke3rPt0wafGUqTZugP64U7l zw=jlq%b3bD;<PwUMWHV3ciGnv(C0I?Tsm$iD(G98mP=;7Kv?CL7{l#|sMp)rvKStP z?yTEF8u3x1vvL?-?Ml$6+vsk{%}HvSh6XiZx)hXSsdx@Ks#UWE935}E?Nih-=8776 zrlII4F!CZB$sk3CE3A-EUR-`fN1aKJLsGr&yognri{<=uvyt#JoxrAvnspsW6&)4m z2gjnW;l9Kk8ZHxCG97n{ip1k6aymYTMp-%rvK@JLnNapi(h=2_3Uw+ha)$kumA|&E zOujWMkFi9WqM0Zcv0YNc3ElQGrif7wg%k7mqf94LV=%*$6XSwkWn7|`rPChx=fpUA z48ES2!hOcX(VAL_&rTi7zP4zrnE8s1#l*_Sq+`TBrLZD9KKL|Ku!x(%4bPz95)*J7 z8+8+WkeyvCW_VB#6DT^0uvlW{RFOTXCTFV>5tgli`YV-IGJ-0<BwK$gp1;Q88GdV; ze$Ub)PO}--<%Cl`Y{|)sG-3RyR^t!<KQI;8MYmzrUd_oY>qcBfE?_GsOuU>hftRw> zfxL!w@VA8de}CIn-I_3wEIU-1(Xpo6o<qRMUXN5|mfntaMzPkYVi~09sAO+imAx8O zSnbkqyHU(unQ+qeDJ*jtV1g?Q;&WrP<{)aMVcMRPuJN>InQJrcIpxw)ju<c%6{H73 zrZ&Lpyjg*>r48Q8yJM_cO%y6T$%(B=Y*(p+MOqJZ>brDP&+)1Kl%DI^=NY8h^UM$O zDl?|3s&1@Zem^vLrjPYcEL^SRa@1O`V0+5;6wcJ8rkoje%=kdo?O7!V3d@R`s=C^h zH7m%<71a*Oh`kz*q)~8o)@nRoH{@HCT9OA{NI5(ZGs@$sx+~wRDAK^|`O|4P&;lzS zzfa{`R0e`4^V9-69fm3tZh(gho}i^LSYT1w$YO|@eUJ{o`Po)mw0x+RHyVi%=c30E zjD=RZ7!nH|v=hn-m&3V26}(cI#Irvul!TGfaJldfdK`>%tl*lXvQT0nL-G$VzqK#G zJ;!RhF0w}A|0C!}gP{S@SPVrN(UZ<Gk{rv3c%?$u94nnBwq<Y%HQ8A@nnaLNm#iX_ zRZM5*dPGAJT|5eXT()0plGLZmy^=&ZTPRr|lTFN;?FG5l=5R?Yena8oei3CKfo!bN zo?K#n((jp06NeKqDk4awOExSM3zM_Y(r8H_zY|G3%Go-Mu9iu%+<)YIQMNN#mZ!-6 z*U0jGQBGj0!q{{MWue4I>RmD@lM1=7K|WI?%5wGz!F(u{*UFz9pUbP!D}R_xkoD_i z{XMdNr7UO1ZM0KP{Cl8Y2G$_J92y-YuWV@avHNjZ?v@9z%62w0Ic^WrxV^H*=;P7r zehu4kd}4tZJ?0r`xZA4!7E$(7*hD?hb@y@qrd(3IpK7E{3DG6v(r^7m>~hU0n3*@V zBGsNn?yqTVT>cR5T=pyZXCT#{(c>vOMtk&gV<{~HXQ{)uR*tow9)bpx`ag&LbS&&e zX{G#;?58O(SnA;0WobJkmSqJ#vi%?1z0gqBMB8Do%)xidq3VXjd09q(;QaIgG|Y2^ z_)}k`(4a9v@4OWH6AaFC82y{oPg}t`-(lPkBL%=ui+UR7=TfXJdlxu(|86LS%L}r2 z|8ipuS(uBJq;_F0|453|y%+W_%+gJBO5AWLe7i7H=gO1VuT+p)o~awpzFG0ws(}^d xnf%e&66=J$<yn@YB8e-NKH|l)l@2526ZoPs3DJYIJPL{`A{6BdU`fU8{{wrCdAk4r delta 5279 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 GGyen7BdV(a -- GitLab