diff --git a/Images/FIN.png b/Images/FIN.png new file mode 100644 index 0000000..f5c5378 Binary files /dev/null and b/Images/FIN.png differ diff --git a/Images/score.png b/Images/score.png new file mode 100644 index 0000000..754522f Binary files /dev/null and b/Images/score.png differ diff --git a/Makefile b/Makefile index c6a41c9..d2b9ec9 100644 --- a/Makefile +++ b/Makefile @@ -13,4 +13,5 @@ menu.o: menu.c menu.h $(CC) menu.c $(CFLAGS) jeu.o: jeu.c jeu.h images.h $(CC) jeu.c $(CFLAGS) -run:./jeu \ No newline at end of file +run: + ./jeu \ No newline at end of file diff --git a/images.c b/images.c index aef7232..50b2ea9 100644 --- a/images.c +++ b/images.c @@ -47,6 +47,7 @@ int tirage_aleatoire(int nb_paires){ for (pos_y=10;pos_y<=370;pos_y=pos_y+90){ for (pos_x=10;pos_x<=640;pos_x=pos_x+90){ if (tab[i]==-1){ + pos_x=650; pos_y=1000; } if (positions[tab[i]][0]==0){ @@ -57,18 +58,14 @@ int tirage_aleatoire(int nb_paires){ positions[tab[i]][2]=pos_x; positions[tab[i]][3]=pos_y; } - /*Triche - snprintf(tirage,50,"Images/image%d.png",(tab[i]+1)); - ChargerImage(tirage,pos_x,pos_y,0,0,80,80);*/ - ChargerImage("Images/image0.png",pos_x,pos_y,0,0,80,80); i++; } } - /* - for (i=0;i<19;i++){ + + /*for (i=0;i<19;i++){ printf("%03d", i); printf(" "); } @@ -79,8 +76,12 @@ int tirage_aleatoire(int nb_paires){ printf(" "); } printf("\n"); + } + for (i=0;i<40;i++){ + printf("%d\n",tab[i]); }*/ - score=jeu(positions, nb_paires); + + score=jeu(positions, nb_paires,tab); Touche(); FermerGraphique(); printf("\n"); diff --git a/jeu.c b/jeu.c index ea3cf78..3864b80 100644 --- a/jeu.c +++ b/jeu.c @@ -6,26 +6,32 @@ #include "jeu.h" #include -int jeu(int position[20][4], int nb_paires){ - int score=0,repet,test=0; +int jeu(int position[20][4], int nb_paires,int tab[40]){ + int score=0,score2,repet,test=0; int pos_x,pos_y; - int i,j,g; + int i,j,g,n=0,x=0, stock_g_1, stock_g_2; int repet2, nb_images; - int clic_x,clic_y,im_y,im_x; - unsigned long temps, temps2,temps3; - char tempstab[50],affichage[50];; - char* comparer[2]; - int tab[3]; + int clic_x,clic_y,im_y,im_x, im_x_1, im_x_2, im_y_1, im_y_2; + unsigned long temps, temps2,temps3=1; + char tempstab[50],affichage[50],scoretab[50]; + couleur c=CouleurParComposante(0,0,0); temps2=Microsecondes(); - + ChargerImage("./Images/score.png",760,250,0,0,224,63); printf("Voici le nombre de paires: %d\n", nb_paires); nb_images=nb_paires*2; score=0; + c=CouleurParComposante(255,255,255); + ChoisirCouleurDessin(c); + RemplirRectangle(850,320,50,50); + snprintf(scoretab,50,"%d",score); + c=CouleurParComposante(0,0,0); + ChoisirCouleurDessin(c); + EcrireTexte(865,360,scoretab,2); while(score=10;pos_y=pos_y-90){ if (clic_y>=pos_y){ if (clic_y<=pos_y+80){ im_y=pos_y; + if (repet==0){ + im_y_1=pos_y; + } + else{ + im_y_2=pos_y; + } break; } } @@ -58,23 +117,31 @@ int jeu(int position[20][4], int nb_paires){ if (clic_x>=pos_x){ if (clic_x<=pos_x+80){ im_x=pos_x; + if (repet==0){ + im_x_1=pos_x; + } + else{ + im_x_2=pos_x; + } break; } } } - if (im_x!=0 && im_y!=0){ + if (im_x!=0 && im_y!=0 && (im_x_1!=im_x_2 || im_y_1!=im_y_2)){ for (i=0;i<20;i++){ for (j=0;j<2;j++){ if (position[i][(j*2)]==im_x && position[i][(j*2+1)]==im_y){ g=i+1; + if (repet==0){ + stock_g_1=g; + } + else{ + stock_g_2=g; + } snprintf(affichage,50,"Images/image%d.png",g); - printf("Voici repet: %d\n", repet); - printf("Voici affichage: %s\n", affichage); - comparer[repet]=affichage; - printf("Voici comparer[0]: %s\n", comparer[0]); - printf("Voici comparer[1]: %s\n\n", comparer[1]); ChargerImage(affichage,im_x,im_y,0,0,80,80); + printf("%s\n", affichage); repet++; } } @@ -82,19 +149,28 @@ int jeu(int position[20][4], int nb_paires){ } } } - printf("Voici comparer[0]: %s\n", comparer[0]); - printf("Voici comparer[1]: %s\n", comparer[1]); /*printf("%d\n", im_x); printf("%d\n", im_y);*/ - if (comparer[0]==comparer[1]){ - score++; + if (stock_g_1==stock_g_2){ + 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; + score++; + for (i=0;i<40;i++){ + if (tab[i]==stock_g_1){ + printf("oui"); + //nb_trouves[i]=tab[i]; + } + } } repet2=0; - if (score!=20){ + 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){ + 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; @@ -103,7 +179,19 @@ int jeu(int position[20][4], int nb_paires){ } } } + if(score2!=score){ + c=CouleurParComposante(255,255,255); + ChoisirCouleurDessin(c); + RemplirRectangle(850,320,50,50); + snprintf(scoretab,50,"%d",score); + c=CouleurParComposante(0,0,0); + ChoisirCouleurDessin(c); + EcrireTexte(865,360,scoretab,2); + } + score2=score; } - FermerGraphique(); - return EXIT_SUCCESS; + ChargerImage("./Images/FIN.png",300,460,0,0,399,87); + Touche(); + FermerGraphique(); + return 1; } \ No newline at end of file diff --git a/jeu.h b/jeu.h index a27c166..256c67b 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 diff --git a/main.c b/main.c index 6f78240..0ad8fe3 100644 --- a/main.c +++ b/main.c @@ -12,6 +12,5 @@ int main(void){ int nb_paires=menu(); char tableautemps[50]; tirage_aleatoire(nb_paires); - FermerGraphique(); return EXIT_SUCCESS; } \ No newline at end of file diff --git a/menu.c b/menu.c index 7ad0509..29484a4 100644 --- a/menu.c +++ b/menu.c @@ -15,8 +15,6 @@ int menu(void){ ChoisirCouleurDessin(c); ChargerImage("Images/background.png",0,0,0,0,1024,576); ChargerImage("Images/Menu1.png",276,19,0,0,476,63); - c=CouleurParComposante(0,0,0); - ChoisirCouleurDessin(c); ChargerImage("Images/Menu2.png",323,250,0,0,383,44); ChargerImage("Images/Fleche1.png",290,253,0,0,33,39); ChargerImage("Images/Fleche2.png",710,253,0,0,34,39);