From 84329b651b8567c5504f872689a55a077999cc6f Mon Sep 17 00:00:00 2001 From: 21801009 <21801009@unicaen.fr> Date: Tue, 21 Jun 2022 17:23:25 +0200 Subject: [PATCH] modif jeu avec match nul --- .gitignore | 4 +++- graphics.c | 2 +- jeu.c | 45 +++++++++++++++++++++++++++++++++++++++------ jeu.h | 4 ++-- main.c | 7 +++++-- morpion | Bin 27872 -> 27904 bytes 6 files changed, 50 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 47b15c5..c1c4f71 100644 --- a/.gitignore +++ b/.gitignore @@ -53,4 +53,6 @@ Mkfile.old dkms.conf # VSCode files -.vscode \ No newline at end of file +.vscode + +morpion \ No newline at end of file diff --git a/graphics.c b/graphics.c index 341ee7c..963b26b 100644 --- a/graphics.c +++ b/graphics.c @@ -56,7 +56,7 @@ void init_graphics(int W, int H) { printf("SDL_ttf absent : affichage dans la console.\n"); #endif - fill_screen(noir); + fill_screen(white); affiche_auto_on(); affiche_all(); diff --git a/jeu.c b/jeu.c index 9ee7515..f282e05 100644 --- a/jeu.c +++ b/jeu.c @@ -3,7 +3,7 @@ void init_board(int board[10][10]) { for(int i = 0; i < 10; i++) { for(int j = 0; j < 10; j++) { - board[i][j] = 0; + board[i][j] = -1; } } } @@ -14,19 +14,52 @@ void draw_board(int board[10][10]) { for(int j = 0; j < 10; j++) { p1.x = i*60+60; p1.y = 0; p2.x = i*60+60; p2.y = 600; - draw_line(p1,p2,blanc); + draw_line(p1,p2,black); p1.y = i*60+60; p1.x = 0; p2.y = i*60+60; p2.x = 600; - draw_line(p1,p2,blanc); - draw_player(board, i, j); + draw_line(p1,p2,black); + // draw_player(board, i, j); } } } void draw_player(int board[10][10] ,int i, int j) { point p = {i*60+30, j*60+30}; - if(board[i][j] == 1) + if(board[i][j] == 0) draw_cross(p, 60, blue); - if(board[i][j] == 2) + if(board[i][j] == 1) draw_circle(p, 30, red); +} + +void play(int board[10][10]) { + int* winner = malloc(sizeof(int)); + int joueur = 1; + while(fin(board, winner)) { + point p = wait_clic(); + int pos[2]; + pos[0] = p.x/60; + pos[1] = p.y/60; + if(board[pos[0]][pos[1]]==-1) { + board[pos[0]][pos[1]] = joueur; + joueur = 1-joueur; + } + draw_player(board, pos[0], pos[1]); + } + free(winner); +} + +int fin(int board[10][10], int *winner) { + + int k = 0; + for(int i = 0; i < 10; i++) { + for(int j = 0; j < 10; j++) { + if(board[i][j]!=-1) + k++; + } + } + if(k>=100) { + *winner = -1; + return 0; + } + return 1; } \ No newline at end of file diff --git a/jeu.h b/jeu.h index 8c70e01..cae883e 100644 --- a/jeu.h +++ b/jeu.h @@ -2,14 +2,14 @@ #define JEU_H #include "graphics.h" -int board[10][10]; - void init_board(int[10][10]); void draw_board(int[10][10]); void draw_player(int[10][10] ,int, int); +void play(int[10][10]); +int fin(int[10][10], int*); #endif \ No newline at end of file diff --git a/main.c b/main.c index 9f4d4b0..bab428d 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,14 @@ #include "jeu.h" int main() { + int board[10][10]; init_graphics(600,600); + fill_screen(white); init_board(board); - board[2][6] = 1; - board[3][8] = 2; + // board[2][6] = 1; + // board[3][8] = 2; draw_board(board); + play(board); wait_escape(); return 0; } \ No newline at end of file diff --git a/morpion b/morpion index 1dd998479c0a8056fa060c03ebb4140d22076a75..41eef5aad4afdaca346acaa84c4f60e47e3c1d87 100755 GIT binary patch delta 5539 zcmZWt3se+WnyzXn1;p;=(Y)l*KqCzz((;g2+oegXg`$HBK30wRSOQsh#$@cM8Kp5z zJJwWs4>>o^#2K@}olWAN>?CHGyiC;Ykl2cGqC_(>#)xK(g`$!W6)~~)yH(YB?LDXK zulwEqb?^QEd;jXbvuxX^Y)495Af8cLl}ebvQw0}dZl$ZeTj?a8Esj|lt#+42lR0dK zPD<>0g4MIp>8uK;lij+TiN_v37&mg|WKm4v{`L9&7s-_0d^@#kPeknK)cpx6Utpd} zqg28)b_HX6qdkY0>KKOKKF|qu>v%CT&x&zgXtz8Az!uNAKN_nNLiRg-|=sJFas>?lw-~JxeZVN2$mR`Is%Z98r>cfyBbHqk=#V6IR zhH}}I;9!_fI^KPOjnQ(Srlwn?;7?Wf%j3zt z_;mJJl9G^Fco|9=cWDFfbvzDHcz=20SYC9z09-aT1CrLl_z~_M(wHzg?oq&WU7^&) zFd=RY`E$Z{wwdH5j%S^uHnGC<={;GNp8uB40vy7KEfD?n<|w=41*q~wg`Kelrj>U9 zG3*I+H~lcDj{ZME@<#yg9f%USLU8&5?!pk4jyKw*Zpvr485lAY;8$bj$O_o6)A zO^RWgES&<25RwW(t{n-l8f1<^X$n?q8eQVT4~GnKwU$_@FAH&pfGO(##I{KM)m zUwMSPQVm7ki36~g=v)!vPUD3(Y#g)vFr5XJy97N=9lSVp3)OTW2k;>p7Ap~C#fWvV zT!0VXZzMU8lxhAOgfPufZPP8W8z*}m4?s56T>^iq@g}*+a8jgnBd73*|54RkFi|SpH|cijKW_z6H}& z2PlJd;|``Ma2}vYVnh3JfVSI;Z@fPvB^4~wAZ@#i8JtT&ZzTjo(-Nwyya7)fNPfqM z7zuI3=t6+;NYPZQ-*EykW_#~8rq~4N5Zz50V`o*Xk3xVR9S#JVqGt=%EyT%F)RdRr zh2UWtY*I5;9H&)?dr=$fU;G_SN1E|r;dP4eyHgkstiV$rq^|`fJ>18RZ-SsWb}yd1 zzx+}XI;LmPsSyJ3Fa|v8esn^}CvSF$V;`ri!U!K6G28F97WsNNTSaa)K>NGfG7C;3 z9cn4ZTG=bHhF5~TxX?`ZXILnUd_v?n5}CG+{eZNjWg6eAV3_t}?(t6hoz`s8^aA-q zn#jhJ+;Jr(e}N;9C5Rc9%NfQ$SGJ!rJQp;)evIvbxl)(NodE8F!F*p}bFMh{0P&71 zWS5hd$4z9Hky-1_dR%> zf}6;Z%=x-+Y$PeGvg~Ucb?#*A^S*PN_ll+q=-NNpdfeO1+V8o)ytb>UL*)Lh@EmRJ z@EzOyq-c7ZJdu^ht|t4k4zeGTCUYtKEAmJ4M8lR68v2`Gv!7^v717`IvAKw4XOM`T z@rx5CA-nCtZMm+3qsmf;u$#AwvGk$`D_+Y=E}`tVqT?o@A;XH`kjqeXbSBId*>ARD z%RU0`vL9{D_^~{eE$1=ATnyQJwoQcp1tMoBb8^$zB$AbzZsdM4GBlCQ%}vcZIguJ& zXokHfFiEHPJ=SHvXYf@aL`7}~@#g*$JC$_jma?PBo!kxV3DRs?Y5YwQcEdirEe|`A zEskv_XDrin!xKn+UJd)-WJO+K%9q$Le(gu|#Ik?P^W8SIXV4=^e>G&ykjg#~?d;!Brz1fgOh0NjQ&jYTeg}+3> z2yxA1_xRi;R;b~HdP|g40bM+tjDo@%A@U#ni=jiR1L|yW);om{8hGK1FtSJ(LhgNs zLjd<-<&R1mm&Ixe)CiYrVYY`P*wY8}?4%~kk)z_l8>FEhIR?*a3 zKsMyNP!hbBUzp{P=#lR}gQKAx97uC+VS#el72!Pl1-YL;F0qSF$=e;p+t0hNN_pr> zb!4J7V{|-(rSlS5V9i8oY_LvXpC@~)R(2_Q-#Td=k2=hD&SiLGy(O{WeZ%W6i*b6S z`!A?t{KQa@o)w32-oMpSVtAw8l8BkUfx?a#rdtYvIAREyQ;_dCo{xKBEZlOwNuLU5 ztspBLo-gStI@-V@ErKVig;;|x39E_f;uZ38!Q|Mjqm?r^c-bsvlYxT5IZ0Q(KL|sk z!HLZq=KY>1KJ?o*ERuqFuMG1A!~UHeG_pbgiUs>4hWM9$QVNm5!j$R|Dh^umxWsjq z*th9{T`OGXVNNURY7PNnXo+g;MJ+Hd`pa73w)D%Jvg{IW1F-dy#tDg&=L7IwW8Fb7 z)hFWNcp5V9-L#sam4I`l^FimT?jJUp)D@Q3eu%=h$?)i)uE}seh?^naJIrpZP-V3G zr-?VTh7QPZ;t=(-$?&lYAz1u1g5LEkPJmW)A?5BNrwWriXKrbAp|hdZ|H_+~KLYX{ z8axfW|5sL8GSP|;*=6fhZxjElPYhXAjP01WQa0=g^4>rs+r!%j-Pd{l25XJ|misgB z$Qn-z_Ouyw7{7Lq7lOO_mfOP4ojdv9T{9oNVP=m6?{fto^PZMd3cU6R?~iQbgICR< z-E2?rZdP!FE9l|Z_IRi7l-&lGVA)B%V_XG&PT@V8u`l7y>t9DV6ji3WWIx`nTK{aT zt(V^(qGG6(YW!9I-|^g@T6@5Kz1Cl4t+j{TpD8A&`)qe;6b%Dgpu20|gp`QCmbi2t z`T;{LtG@HHTt}VhljT9|NE>J+`fV3wc{6AS=#!wGp!7SU5A<(z{1Wm9bU)~~paD=L zcHQ`eEEj=p0OdjV|F10n7ii~YSq{)X=xH79?K-4@L;=KfR0IT(2I-(3IQ6!IG6S-_ z547*PEDwX4Z^&|NBq*Y-60{Mt7SxDn*biDV1U>jdI{A$(*Mn9e8ahDhaLc~~YQ(*7 z#02X=Eu)edW)Lsy0d$}!>;!E@z4i&IDa~iA$Rnl6>`o$-<~!)R;P6u#Dmi8Ye&1gB zDb@~b7#IporQw2Op25#Tu9udw9VELf!Sp}S122?@Qi=HnzkQ^pY+S}?7-^(9uQzXt z(MQdNxuxh9VO7m!d)abbcORk~P-yk1_&){%?lzhL`_ts+4edzH+pC`9KG+POw{ zRII_N*k7@PH52EQx$H*bpE8ZzM~+RIz&=TCO<9yW{FN-@UQ?P2Pr3~jY|HP-uFCPA zU+XKK`Vyz!TCF!%>r<-r#%g^OU7|X$Z3Ww(s9=rWxI@S5Q@jx?^d)Oz^eIlg(W#G` zJ?7u^DRcG4S^6l3nrMfN1ey1#3{?4bHTsk%BWCN(J0fT5tzK@nzC_olw>tG^r)q14 zJ}MEsGz8iZB0Lq;ni=#o@Tjx0yoF-0>D4XJ?~l+u7^62nppSBn>H4a2U1W6lGro}o z9jkOwQCH54`4Mb@JmU03OStrDiz2V;l8Ld}tQ#yMB?~f1U3DBA=vq_Fj|O?E#>zsF zoSCy4<6V_=&v3MBSdgW%cM@rVk@PKyN;PYL8K_#Zi+Is7dZv-E3um+YyJ{9@vATLY zd3ez;*^A`tqA77^IzcpLAwly9)ttM z85EVYg;(cA4evl@LEG=iSM^JDB@@V;hGOdW;|;UeP7-XGlx8+73=GP9rOnYS8S_cZ z;#ml+1&e=eq9#sGP#Kh+!|VGbxH!4|0@#gA3S(ZNj)tEDnwmi*DsABy9|oR-g-&1- zNcNIsHd}cX(&y?KI3<)xY6}=n+xZ&asclqvk_$C_zczUrCQaK);BmSXrs`)twNNXm z^lYM|)}M_EpkS75)wkG-vrs|jkdRodT} z$`JL#Pm$XG_wt6Y9i=_+mllF-+>udDcRk9+Wi`=k&^%ipT!QbhcTDmr^YL4vc zTiY0++m}YFA1aOsA9wT=cxVTkPT1y2agF$7pe;;?yPVC3*|CjrDy%$7HkZ(4e%P$j e8OM<7^%c?l3U%~5vVHxO=$TqfJVw}m&H6v^+t2C% delta 5019 zcmZ8l3sh5Ax;`gxG$15F2nq5E5Fk8+L>`h#Is{YZpg02+R4P`~4&$`8OIzr0rwV9D z+p|tt7rWaI_Bv~@Yi3#7-jPnmKA2X+&@n#x&~|CHwn`t?gD)I$ES2iH-#$6HGt<3R z&cFBn{{Q{|`|OjR&)BikY`;0Ke>S6xst{lXx96RU-j^I&?Mo)J*`nxc+R*ZvmMmh+ zHJyq6ZLE%sieW?O7_vh%k&w9SgOg_)9yaZnb#lwDeLoc=b9{yVoe?oJlX~Jqe1Rn) zsA^;E{*h?k%o@Hgb!k1r99W@Y7%6H7!|=j6X~d+!Ah#1FYA4A34KuJXQiqvg90BRW z1PWG;wiW5qdl~Z1?DYEWGKO)Xi(zhru+$*m=lZX^Dc~NZz&X`!<5I8Ps=v~#dMT3@m|*}m6-Cv`Sw^|be)7A**E}{v<}7( za+gVe{JglAfTnIksfRlMEcqmUD?31%5^~s0WOG7!ck~akES)0#VmHwNBSb zsOr{+opA&flm&p%?+lE#{VS&a@uQIZHw5p!tQEQY!08KgSoizsPOM~3i z1qu@*J^v&1CsHVLv&R|(Bj!ncA>0nz*#TbIxjqd$?=*^@+*d|DCMV)~)ZUq-**v zhFQ7F-7xOj$jUKhC*o`9?&_B){tuM!1+Gc?m3v>6`IGxmQ;lKZ~;W%&sR>>6ELPxVgo!K zM$?7-14jTHATFX>Nb^9|O`&@ClaEYUv;PD}-^X1Ybt3m$Ohs-7i8Nc; zc9Lh#%x$7t26*<6Q2C_DEyT)stoxj3bWyx_gmoV2-X(J1kw?w$?kg2gZ-IKD>@23z zuV6zg`vgFSD6n_M*tMrOsnjEEWyHbOHMEWeH&;*TY#1H0v`M6Zqgcy3R!�`%x`q0kgP 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 E0ph+REC2ui