diff --git a/affichage.c b/affichage.c index da2d83e..ced861e 100644 --- a/affichage.c +++ b/affichage.c @@ -1,3 +1,4 @@ +#include "timer.h" #include #include #include @@ -148,7 +149,7 @@ void InsereTableau(int val, int* tab){ } } -int main(void){ +int essay(void){ int tab[4][5] = {{},{},{},{}}; int o; int timerStop; @@ -166,6 +167,7 @@ int main(void){ ChoisirCouleurDessin(CouleurParComposante(0,0,0)); DessinerGrille(GRILLE_X,GRILLE_Y,1500,844,0,found,tab); while(1){ + timer(); if (ToucheEnAttente()){ touche = Touche(); if (touche == XK_t){ @@ -225,4 +227,6 @@ int main(void){ } FermerGraphique(); return EXIT_SUCCESS; -} +} + + diff --git a/affichage.h b/affichage.h new file mode 100644 index 0000000..5a172ac --- /dev/null +++ b/affichage.h @@ -0,0 +1,27 @@ +#ifndef AFFICHAGE_H +#define AFFICHAGE_H + +#define GRILLE_X 4 +#define GRILLE_Y 4 + +int Trouvee(int found, int carte); + +void DefinirCouleurs(couleur c[10]); + +int ZoneRectangle(int upper_x, int upper_y, int lower_x, int lower_y); + +void DessinerGrille(int x_g, int y_g, int x_fen, int y_fen, int triche, int* found, int tab[4][4]); + +void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][4]); +void GenererGrille(int x_grille, int y_grille, int tab[4][4]); + +void Triche(int* triche); + +int Victoire(int* found, int x_grille, int y_grille); + +void InsereTableau(int val, int* tab); + +int essay(void); + +#endif /* AFFICHAGE_H */ + diff --git a/affichage_2.c b/affichage_2.c new file mode 100644 index 0000000..a03d720 --- /dev/null +++ b/affichage_2.c @@ -0,0 +1,230 @@ +#include +#include +#include +#define GRILLE_X 4 +#define GRILLE_Y 4 + +int Trouvee(int* found, int carte){ + int i; + for (i=0;i<10;i++){ + if (found[i] == carte) return 1; + } + return 0; +} + +void DefinirSprite(int c[10]){ + //Insère les couleurs dans le tableau c pris en argument + c[0] = ChargerSprite("./test_sprite.png"); + c[1] = ChargerSprite("./test_sprites.png"); + c[2] = ChargerSprite("./test_sprites.png"); + c[3] = ChargerSprite("./test_sprites.png"); + c[4] = ChargerSprite("./test_sprites.png"); + c[5] = ChargerSprite("./test_sprites.png"); + c[6] = ChargerSprite("./test_sprites.png"); + c[7] = ChargerSprite("./test_sprites.png"); + c[8] = ChargerSprite("./test_sprites.png"); + c[9] = ChargerSprite("./test_sprites.png"); +} + +int ZoneRectangle(int upper_x, int upper_y, int lower_x, int lower_y){ + //upper_x et upper_y sont les coordonnées du point supérieur gauche du rectangle + //lower_x et lower_y sont les coordonnées du point inferieur droit du rectangle + //La fonction renvoie 1 si la souris est dans la zone et renvoie 0 si elle n'y est pas + SourisPosition(); + int pos_x = _X; + int pos_y = _Y; + if ((pos_x >= upper_x) && (pos_x <= lower_x) && (pos_y >= upper_y) && (pos_y <= lower_y)) + return 1; + else return 0; +} + + +void DessinerGrille(int x_g, int y_g, int x_fen, int y_fen, int triche, int* found, int tab[4][5]){ + // Dessine la grille des cartes en noir si le mode de triche est désactivé et dévoile les cartes si le mode triche est activé + int i,j; + int c[10]; + int x = 0; + int y = 0; + int l_case = (x_fen-((10*x_g)+10))/x_g; + int h_case = (y_fen-((10*y_g)+10))/y_g; + DefinirSprite(c); + if (triche == 0){ + ChoisirCouleurDessin(CouleurParNom("black")); + for(i=10;i #include #include +#include "affichage.h" int menu_principal(void){ //créeation de variable de position @@ -80,7 +81,8 @@ int menu_principal(void){ EffacerEcran(CouleurParNom("grey")); } if((x>537) && (x<958) && (y>266) && (y<696)){ - EffacerEcran(CouleurParNom("grey")); + EffacerEcran(CouleurParNom("white")); + essay(); } if((x>1007) && (x<1432) && (y>266) && (y<696)) { EffacerEcran(CouleurParNom("grey")); @@ -101,7 +103,8 @@ int menu_principal(void){ EffacerEcran(CouleurParNom("grey")); } if((x>537) && (x<958) && (y>266) && (y<696)){ - EffacerEcran(CouleurParNom("grey")); + EffacerEcran(CouleurParNom("white")); + essay(); } if((x>1007) && (x<1432) && (y>266) && (y<696)) { EffacerEcran(CouleurParNom("grey")); @@ -122,7 +125,8 @@ int menu_principal(void){ EffacerEcran(CouleurParNom("grey")); } if((x>537) && (x<958) && (y>266) && (y<696)){ - EffacerEcran(CouleurParNom("grey")); + EffacerEcran(CouleurParNom("white")); + essay(); } if((x>1007) && (x<1432) && (y>266) && (y<696)) { EffacerEcran(CouleurParNom("grey")); diff --git a/test_sprite.png b/test_sprite.png new file mode 100644 index 0000000..e7a71b5 Binary files /dev/null and b/test_sprite.png differ diff --git a/timer.c b/timer.c index a234365..af7bd32 100644 --- a/timer.c +++ b/timer.c @@ -1,39 +1,48 @@ +#include "timer.h" #include #include #include -int main(void){ - unsigned long temps_ecoule = 0; - unsigned long temps = Microsecondes(); - int timer; - int seconde_passee; - int minutes = 0; - int secondes = 0; - int a = 1; - int temps_reference = 0; - char afficher_temps[20]; +unsigned long temps_ecoule = 0; +unsigned long temps = Microsecondes(); +int time; +int seconde_passee; +int minutes = 0; +int secondes = 0; + //int a = 1; +int temps_reference = 0; +char afficher_temps[20]; - InitialiserGraphique(); - CreerFenetre(10,10,1500,844); - while(a==1){ - temps_ecoule = (int) (Microsecondes() - temps); - if (temps_reference 59){ - minutes = secondes/60 ; - secondes = secondes - (minutes*60); - } - EffacerEcran(CouleurParNom("white")); - ChoisirCouleurDessin(CouleurParNom("black")); - snprintf(afficher_temps,15,"Time : %02d : %02d",minutes,secondes); - EcrireTexte(700,50,afficher_temps,1); +int timer(void){ + //unsigned long temps_ecoule = 0; + //unsigned long temps = Microsecondes(); + //int timer; + //int seconde_passee; + //int minutes = 0; + //int secondes = 0; + //int a = 1; + //int temps_reference = 0; + //char afficher_temps[20]; + + temps_ecoule = (int) (Microsecondes() - temps); + if (temps_reference59){ + minutes = secondes/60; + secondes = secondes - (minutes * 60); } + ChoisirCouleurDessin(CouleurParNom("black")); + RemplirRectangle(675,25,160,30); + ChoisirCouleurDessin(CouleurParNom("white")); + snprintf(afficher_temps,15,"Time : %02d : %02d",minutes,secondes); + EcrireTexte(700,50,afficher_temps,1); } } return EXIT_SUCCESS; } + diff --git a/timer.h b/timer.h new file mode 100644 index 0000000..b09e02e --- /dev/null +++ b/timer.h @@ -0,0 +1,7 @@ +#ifndef TIMER_H +#define TIMER_H + + +int timer(void); + +#endif /* TIMER_H */