From a3ae70648b271f4053b33e4b98decdc8c8fac8ae Mon Sep 17 00:00:00 2001 From: Tajeddine Date: Thu, 4 Dec 2025 22:43:36 +0100 Subject: [PATCH] compteur de coups fonctionnel --- main.c | 10 ++++++---- partie.c | 20 ++++++++++++-------- partie.h | 2 +- taquin | Bin 20760 -> 20760 bytes 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/main.c b/main.c index bd0a4f0..9f02d65 100644 --- a/main.c +++ b/main.c @@ -152,19 +152,21 @@ int main(void){ touche = Touche(); /* Pour quitter on clique sur q */ - if (touche == XK_q || touche == XK_Q) break; + if (touche == XK_q || touche == XK_Q) { + FermerGraphique(); + } /* Déplacement +on affiche la nouvelle grille */ - deplacer(grille,ligne,colonne,touche); + if (deplacer(grille,ligne,colonne,touche) == 1) { coups++; afficher_plateau(grille,ligne,colonne,coups); /*On vérifie si on a gagner */ if(verifier_victoire(grille,ligne,colonne) == 1 ){ jeu_fini = 1; } - } - + } + } } if (jeu_fini == 1){ diff --git a/partie.c b/partie.c index df5efe8..135dd65 100644 --- a/partie.c +++ b/partie.c @@ -9,7 +9,7 @@ void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_ int i, j; int compteur = 1; - grille[0][0]=0; + grille[0][0] = 0; for (i = 0; i < nb_ligne; i++){ for(j = 0; j < nb_colonne; j++){ @@ -21,7 +21,7 @@ void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_ } } -void deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int touche) { +int deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int touche) { int i, j; int vide_i = -1, vide_j = -1; int cible_i, cible_j; @@ -44,20 +44,23 @@ cible_j = vide_j; /* Calculer la cible */ if(touche == XK_Left) cible_j = vide_j - 1; -if(touche == XK_Right) cible_j = vide_j + 1; -if(touche == XK_Up) cible_i = vide_i - 1; -if(touche == XK_Down) cible_i = vide_i + 1; - + else if(touche == XK_Right) cible_j = vide_j + 1; + else if(touche == XK_Up) cible_i = vide_i - 1; + else if(touche == XK_Down) cible_i = vide_i + 1; + else { + return 0; + } /* Vérifier les bords */ if (cible_i < 0 || cible_i >= nb_ligne || cible_j < 0 || cible_j >= nb_colonne) { - return; + return 0; } /* Echanger */ temp = grille[cible_i][cible_j]; grille[cible_i][cible_j] = 0; grille[vide_i][vide_j] = temp; + return 1; } void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne) { @@ -83,7 +86,8 @@ void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_col int verifier_victoire(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne){ int i,j,compteur = 1; - if(grille[0][0]!= 0)return 0; + + if(grille[0][0] != 0)return 0; for(i = 0; i < nb_ligne; i++) { for(j = 0; j< nb_colonne; j++) { diff --git a/partie.h b/partie.h index e150450..d6bdaba 100644 --- a/partie.h +++ b/partie.h @@ -4,7 +4,7 @@ #include "config.h" void initialiser_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne); -void deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne, int touche); +int deplacer(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne, int touche); void deplacer_souris(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne,int clic_x,int clic_y); void melanger_plateau(int grille[MAX_TAILLE][MAX_TAILLE],int nb_ligne,int nb_colonne); diff --git a/taquin b/taquin index 6ddb01e21232c81c01fa72d9c57618be48a43fde..454ced898a640cba4b58fc585d1932eacc7b7473 100755 GIT binary patch delta 1271 zcmbQSh;hau#tj^doT&l~V34|5kg=Rer&d3-&xlBS^z?F%C!K1tN#lQdmJvxuS zD4x7gLWZ$)@;M0^M)S$9B^2D_m>3vdg7kwh!;7Nt|Nplh;BQ&R05$c+hVTFXceXzH z_y2$MUJzMW!U}(Jo*YVan|Nj4H zWME)u-V0(e@V8k12N?(AF!HxvXJBCP=w%fbV_*QevHBattQj&~*lYdAl zy8rq5|Nn%OheJI&pL#UE5%B1&{jncp{ENw7|Nr;sWj!wn@s0|J+j;zj4~Xt|{Q>gg zg|Gkr?+3-%i?qoJ(z^B4P_-AnK)n6~MEA00L4|jMxShve9Q^YCe|Kn)N3ZJvk6zv& zu2}?)6BK^CKt$*97ds~B$pjmheE$F6qxpz{M=z@l zRNq99Q0MU%Ge7_T-;JqHXz~{s6T!Wo|Nn=C8N|)Cn=NH|8SA;bT|YFxVC;1L@!GAi z_Dt}928L3w*a5JZQDg0yAgI_Iu(~g=>b|^&q{o*npp;hog`q;M+x3gJ z>y=u*=Gq?&6&&5JKdfCZ)UboCex2Cu`o&|0$H51z9+OYW@lD<(=fb)J6oHc&<)y^= zKmGp?^6f`ZpnU-a)a$etuRcyTl8+V?0_6qQFN}?~Up_N3Fw{+)JX?M$GXn#|W&?#4 z{F@8{7%lg`{Qv(B0|UeFm;e9&VPIfzeD(jo3?l;r=bQikZ5SCCq~84hAH&GNF!Rm- z|22#Z3_sug|38P3fnmnvPQz^3i5ws;d;)Du&b(~QJsdpj91JoH3=B043=Fp>3mVBY zexGb;B+n>2InYR+@#y42BYDPclP4O$g9ov!QI8NW`p^wsB# OP=F|i*j(tloEZS?(+QaX delta 1166 zcmbQSh;hau#tj^doVEfCU|_phkg=Reoyca|k^0)LeFfc$kf&48^3=9n2y-y~8l#pWaWno~LTp{Vm^pbV*Zb_+nr~e>b zcmDnV&&c0;oq>VDqnA}qjDZ2}DCL^fS2hzpwxQgTw1Z z$>ahlMQ)>SF#e9obELEw1tuStl9lHF_W%FM!=WCXPd%F72z1u|=`8&L(G@!Rzm%do z^SA&1Cmt7(j@gGF@vKB&x4}iFx$6uWI^8bH#Xpcv)>j95m-bk?QIgifc5NF+* zd`nu6F?;e)=@7w_A`r{vpgPqi$H|B>?w?#L6D(W(`Tu{9<|6_gy{yhqWivoRoyT7+ z_&hmYMwC%<@^2Xv!6Tnx0RS<-WwV1UFJla6x9f-I7mS^*KN@S#1pjAXC9hJu0O0@FVx0Oejq0?`IelE z$!o?5v9PdL@aU|4(OLSWGxPx@%nU#M|KEB1#jTJ3{~ve#0t&|0X)ky_O%9Qd=FZVLSAU}0;gu)8`$rrdZHW>skT5f;&|Nk8Z28J&$|NsBPz`$Vj>i>Tk zMg|6^H~;_JFfuR*zxn?^hLM3`(wqPPYZw_AuD|{Ne-0x9L-FKJ!))0u4h9AWM?Qfz zCTCtY=2i|Kb`Ay^1_p*21_p-9lLd|B89z)mG?Hf&n;d8)&$w@Lp^-e}`pFZGDXc+GI}Gdd9BJov!QI881w>^wsAyP=F{f*j(tloEZR$SmFf$