les paires trouvées se remettent face cachée

This commit is contained in:
proal 2022-12-02 11:40:27 +01:00
parent 82d3a7a62c
commit e52f7e36be
3 changed files with 37 additions and 13 deletions

View File

@ -81,7 +81,7 @@ int tirage_aleatoire(int nb_paires){
} }
printf("\n"); printf("\n");
}*/ }*/
score=jeu(positions, nb_paires); score=jeu(positions, nb_paires, tab);
Touche(); Touche();
FermerGraphique(); FermerGraphique();
printf("\n"); printf("\n");

34
jeu.c
View File

@ -6,7 +6,7 @@
#include "jeu.h" #include "jeu.h"
#include <unistd.h> #include <unistd.h>
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 score=0,repet,test=0;
int pos_x,pos_y; int pos_x,pos_y;
int i,j,g, stock_g_1, stock_g_2; 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; int clic_x,clic_y,im_y,im_x;
unsigned long temps, temps2,temps3; unsigned long temps, temps2,temps3;
char tempstab[50],affichage[50]; char tempstab[50],affichage[50];
int tab[3], ban_list[20]; int position_trouvees[20][4];
couleur c=CouleurParComposante(0,0,0); couleur c=CouleurParComposante(0,0,0);
temps2=Microsecondes(); temps2=Microsecondes();
printf("Voici le nombre de paires: %d\n", nb_paires); printf("Voici le nombre de paires: %d\n", nb_paires);
nb_images=nb_paires*2; nb_images=nb_paires*2;
score=0; score=0;
while(score<nb_paires){ while(score<nb_paires){
printf("\n\nVoici le score: %d\n", score); printf("\n\nVoici le score: %d\n", score);
/*Gestion du temps*/
temps=(Microsecondes()-temps2)/1000000; temps=(Microsecondes()-temps2)/1000000;
if(temps!=temps3){ if(temps!=temps3){
snprintf(tempstab,50,"%ld secondes ecoulees",temps); snprintf(tempstab,50,"%ld secondes ecoulees",temps);
@ -34,9 +37,9 @@ int jeu(int position[20][4], int nb_paires){
EcrireTexte(867,100,tempstab,0); EcrireTexte(867,100,tempstab,0);
} }
temps3=temps; temps3=temps;
repet=0; repet=0;
/*comparer[0]="vide";
comparer[1]="vide";*/
while (repet<2){ while (repet<2){
temps=(Microsecondes()-temps2)/1000000; temps=(Microsecondes()-temps2)/1000000;
if(temps!=temps3){ if(temps!=temps3){
@ -56,6 +59,7 @@ int jeu(int position[20][4], int nb_paires){
im_x=0; im_x=0;
im_y=0; im_y=0;
/*Détecter si le clic était sur l'axe des ordonnées d'une image*/
for (pos_y=370;pos_y>=10;pos_y=pos_y-90){ for (pos_y=370;pos_y>=10;pos_y=pos_y-90){
if (clic_y>=pos_y){ if (clic_y>=pos_y){
if (clic_y<=pos_y+80){ 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){ for (pos_x=640;pos_x>=10;pos_x=pos_x-90){
if (clic_x>=pos_x){ if (clic_x>=pos_x){
if (clic_x<=pos_x+80){ 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){ if (im_x!=0 && im_y!=0){
for (i=0;i<20;i++){ for (i=0;i<20;i++){
for (j=0;j<2;j++){ for (j=0;j<2;j++){
@ -86,6 +93,7 @@ int jeu(int position[20][4], int nb_paires){
stock_g_2=g; stock_g_2=g;
} }
snprintf(affichage,50,"Images/image%d.png",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); ChargerImage(affichage,im_x,im_y,0,0,80,80);
repet++; repet++;
} }
@ -96,24 +104,40 @@ int jeu(int position[20][4], int nb_paires){
} }
/*printf("%d\n", im_x); /*printf("%d\n", im_x);
printf("%d\n", im_y);*/ printf("%d\n", im_y);*/
/*Si les deux images retournées ont le même numéro*/
if (stock_g_1==stock_g_2){ if (stock_g_1==stock_g_2){
score++; 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][0]=0;
position[stock_g_1-1][1]=0; position[stock_g_1-1][1]=0;
position[stock_g_1-1][2]=0; position[stock_g_1-1][2]=0;
position[stock_g_1-1][3]=0; position[stock_g_1-1][3]=0;
} }
repet2=0; repet2=0;
i=0;
if (score!=nb_paires){ if (score!=nb_paires){
sleep(1); sleep(1);
for (pos_y=10;pos_y<=370;pos_y=pos_y+90){ 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); printf("Voici tab[%d]", i);
printf(": %d\n", tab[i]);
repet2++; repet2++;
if (repet2==nb_images){ if (repet2==nb_images){
pos_x=750; pos_x=750;
pos_y=380; pos_y=380;
} }
if (tab[i]!=0){
ChargerImage("Images/image0.png",pos_x,pos_y,0,0,80,80);
}
i++;
} }
} }
} }

2
jeu.h
View File

@ -1,6 +1,6 @@
#ifndef JEU_H #ifndef JEU_H
#define 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 #endif