From 876eb3721771aba75158040243ffbc41fff3e523 Mon Sep 17 00:00:00 2001 From: proal Date: Thu, 1 Dec 2022 23:53:31 +0100 Subject: [PATCH 1/2] =?UTF-8?q?une=20paire=20compl=C3=A9t=C3=A9e=20ne=20pe?= =?UTF-8?q?ut=20plus=20=C3=AAtre=20retourn=C3=A9e=20une=20autre=20fois=20(?= =?UTF-8?q?mais=20est=20masqu=C3=A9e)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeu.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/jeu.c b/jeu.c index 6b9cb34..ddd6b55 100644 --- a/jeu.c +++ b/jeu.c @@ -13,9 +13,8 @@ int jeu(int position[20][4], int nb_paires){ int repet2, nb_images; int clic_x,clic_y,im_y,im_x; unsigned long temps, temps2,temps3; - char tempstab[50],affichage[50];; - char* comparer1[50], comparer2[50]; - int tab[3]; + char tempstab[50],affichage[50]; + int tab[3], ban_list[20]; couleur c=CouleurParComposante(0,0,0); temps2=Microsecondes(); @@ -80,14 +79,14 @@ int jeu(int position[20][4], int nb_paires){ if (position[i][(j*2)]==im_x && position[i][(j*2+1)]==im_y){ if (repet==0){ g=i+1; - snprintf(comparer1,50,"Images/image%d.png",g); - ChargerImage(comparer1,im_x,im_y,0,0,80,80); + snprintf(affichage,50,"Images/image%d.png",g); + ChargerImage(affichage,im_x,im_y,0,0,80,80); stock_g_1=g; } else{ g=i+1; - snprintf(comparer2,50,"Images/image%d.png",g); - ChargerImage(comparer2,im_x,im_y,0,0,80,80); + snprintf(affichage,50,"Images/image%d.png",g); + ChargerImage(affichage,im_x,im_y,0,0,80,80); stock_g_2=g; } repet++; @@ -101,6 +100,10 @@ int jeu(int position[20][4], int nb_paires){ printf("%d\n", im_y);*/ if (stock_g_1==stock_g_2){ score++; + position[stock_g_1-1][0]=0; + position[stock_g_1-1][1]=0; + position[stock_g_1-1][2]=0; + position[stock_g_1-1][3]=0; } repet2=0; if (score!=nb_paires){ @@ -117,7 +120,6 @@ int jeu(int position[20][4], int nb_paires){ } } } - Touche(); FermerGraphique(); return 1; } \ No newline at end of file From e52f7e36be603f511405a77bb6c62b8488bd7614 Mon Sep 17 00:00:00 2001 From: proal Date: Fri, 2 Dec 2022 11:40:27 +0100 Subject: [PATCH 2/2] =?UTF-8?q?les=20paires=20trouv=C3=A9es=20se=20remette?= =?UTF-8?q?nt=20face=20cach=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images.c | 2 +- jeu.c | 46 +++++++++++++++++++++++++++++++++++----------- jeu.h | 2 +- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/images.c b/images.c index 9884956..f9f68a5 100644 --- a/images.c +++ b/images.c @@ -81,7 +81,7 @@ int tirage_aleatoire(int nb_paires){ } printf("\n"); }*/ - score=jeu(positions, nb_paires); + score=jeu(positions, nb_paires, tab); Touche(); FermerGraphique(); printf("\n"); diff --git a/jeu.c b/jeu.c index dbf16fb..9cddea4 100644 --- a/jeu.c +++ b/jeu.c @@ -6,7 +6,7 @@ #include "jeu.h" #include -int jeu(int position[20][4], int nb_paires){ +int jeu(int position[20][4], int nb_paires, int tab[40]){ int score=0,repet,test=0; int pos_x,pos_y; int i,j,g, stock_g_1, stock_g_2; @@ -14,15 +14,18 @@ int jeu(int position[20][4], int nb_paires){ int clic_x,clic_y,im_y,im_x; unsigned long temps, temps2,temps3; char tempstab[50],affichage[50]; - int tab[3], ban_list[20]; + int position_trouvees[20][4]; couleur c=CouleurParComposante(0,0,0); temps2=Microsecondes(); printf("Voici le nombre de paires: %d\n", nb_paires); nb_images=nb_paires*2; score=0; + while(score=10;pos_y=pos_y-90){ if (clic_y>=pos_y){ if (clic_y<=pos_y+80){ @@ -64,6 +68,8 @@ int jeu(int position[20][4], int nb_paires){ } } } + + /*Détecter si le clic était sur l'axe des abcisses d'une image*/ for (pos_x=640;pos_x>=10;pos_x=pos_x-90){ if (clic_x>=pos_x){ if (clic_x<=pos_x+80){ @@ -73,6 +79,7 @@ int jeu(int position[20][4], int nb_paires){ } } + /*Si les deux boucles précédentes ont été vérifiées (si le clic a bien eu lieu sur une image)*/ if (im_x!=0 && im_y!=0){ for (i=0;i<20;i++){ for (j=0;j<2;j++){ @@ -86,6 +93,7 @@ int jeu(int position[20][4], int nb_paires){ stock_g_2=g; } snprintf(affichage,50,"Images/image%d.png",g); + printf("Voici affichage: %s\n",affichage); ChargerImage(affichage,im_x,im_y,0,0,80,80); repet++; } @@ -96,24 +104,40 @@ int jeu(int position[20][4], int nb_paires){ } /*printf("%d\n", im_x); printf("%d\n", im_y);*/ + + /*Si les deux images retournées ont le même numéro*/ if (stock_g_1==stock_g_2){ score++; + for (i=0; i<40;i++){ + if (tab[i]==stock_g_1){ + tab[i]=0; + } + } position[stock_g_1-1][0]=0; position[stock_g_1-1][1]=0; position[stock_g_1-1][2]=0; position[stock_g_1-1][3]=0; } repet2=0; + i=0; if (score!=nb_paires){ sleep(1); for (pos_y=10;pos_y<=370;pos_y=pos_y+90){ for (pos_x=10;pos_x<=640;pos_x=pos_x+90){ - ChargerImage("Images/image0.png",pos_x,pos_y,0,0,80,80); - repet2++; - if (repet2==nb_images){ - pos_x=750; - pos_y=380; - } + printf("Voici tab[%d]", i); + printf(": %d\n", tab[i]); + + repet2++; + if (repet2==nb_images){ + pos_x=750; + pos_y=380; + } + + if (tab[i]!=0){ + ChargerImage("Images/image0.png",pos_x,pos_y,0,0,80,80); + } + i++; + } } } diff --git a/jeu.h b/jeu.h index a27c166..4ec6dd3 100644 --- a/jeu.h +++ b/jeu.h @@ -1,6 +1,6 @@ #ifndef JEU_H #define JEU_H -int jeu(int positions[20][4], int nb_paires); +int jeu(int positions[20][4], int nb_paires, int tab[40]); #endif \ No newline at end of file