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