Travail du 07/12/22

This commit is contained in:
Axel PIETROIS 2022-12-08 11:53:33 +01:00
parent 6d1d07ae52
commit 3a156893f9
5 changed files with 53 additions and 73 deletions

View File

@ -2,8 +2,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <graph.h> #include <graph.h>
#define GRILLE_X 4
#define GRILLE_Y 4
int Trouvee(int* found, int carte){ int Trouvee(int* found, int carte){
int i; int i;
@ -149,10 +147,13 @@ void InsereTableau(int val, int* tab){
} }
} }
int essay(void){ int essay(int grille_x){
char afficher_temps[20];
int tab[4][5] = {{},{},{},{}}; int tab[4][5] = {{},{},{},{}};
int o; int o;
int timerStop; unsigned long temps_microsec = Microsecondes();
unsigned long temps_ecoule = 0;
unsigned long temps_ancien = -1;
int i,j; int i,j;
int x=1; int x=1;
int temps; int temps;
@ -161,24 +162,32 @@ int essay(void){
int found[10] = {}; int found[10] = {};
int carte_1[3] = {0,-1,-1}; int carte_1[3] = {0,-1,-1};
int carte_2[3] = {0,-1,-1}; int carte_2[3] = {0,-1,-1};
GenererGrille(GRILLE_Y, GRILLE_X, tab); GenererGrille(4, grille_x, tab);
InitialiserGraphique(); InitialiserGraphique();
CreerFenetre(10,10,1500,844); CreerFenetre(10,10,1500,844);
ChoisirCouleurDessin(CouleurParComposante(0,0,0)); ChoisirCouleurDessin(CouleurParComposante(0,0,0));
DessinerGrille(GRILLE_X,GRILLE_Y,1500,844,0,found,tab); DessinerGrille(grille_x,4,1500,844,0,found,tab);
while(1){ while(1){
timer(); if (x==1){
timer(&temps_ecoule, temps_microsec);
}
if (temps_ecoule = temps_ancien+1){
temps_ancien = temps_ecoule;
ChoisirCouleurDessin(CouleurParNom("black"));
RemplirRectangle(675,25,160,30);
ChoisirCouleurDessin(CouleurParNom("white"));
sprintf(afficher_temps,"Time : %03ds",temps_ecoule);
EcrireTexte(700,50,afficher_temps,1);
}
if (ToucheEnAttente()){ if (ToucheEnAttente()){
touche = Touche(); touche = Touche();
if (touche == XK_t){ if (touche == XK_t){
Triche(&x); Triche(&x);
if (x==-1){ if (x==-1){
DessinerGrille(GRILLE_X,GRILLE_Y,1500,844,1,found,tab); DessinerGrille(grille_x,4,1500,844,1,found,tab);
timerStop = 1;
} }
else{ else{
DessinerGrille(GRILLE_X,GRILLE_Y,1500,844,0,found,tab); DessinerGrille(grille_x,4,1500,844,0,found,tab);
timerStop = 0;
} }
} }
if (touche == XK_space) if (touche == XK_space)
@ -189,13 +198,13 @@ int essay(void){
if (x==1){ if (x==1){
if (carte_1[0] == 0){ if (carte_1[0] == 0){
Jeu(GRILLE_X,GRILLE_Y,1500,844,carte_1,tab); Jeu(grille_x,4,1500,844,carte_1,tab);
if (Trouvee(found,carte_1[0])){ if (Trouvee(found,carte_1[0])){
carte_1[0] = 0; carte_1[0] = 0;
} }
} }
else if (carte_2[0] == 0){ else if (carte_2[0] == 0){
Jeu(GRILLE_X,GRILLE_Y,1500,844,carte_2,tab); Jeu(grille_x,4,1500,844,carte_2,tab);
if (carte_1[1] == carte_2[1] && carte_1[2] == carte_2[2]) carte_2[0] = 0; if (carte_1[1] == carte_2[1] && carte_1[2] == carte_2[2]) carte_2[0] = 0;
if (Trouvee(found,carte_2[0])) carte_2[0] = 0; if (Trouvee(found,carte_2[0])) carte_2[0] = 0;
} }
@ -216,10 +225,10 @@ int essay(void){
while (temps < retourne_time){ while (temps < retourne_time){
temps = Microsecondes(); temps = Microsecondes();
} }
DessinerGrille(GRILLE_X,GRILLE_Y,1500,844,0,found,tab); DessinerGrille(grille_x,4,1500,844,0,found,tab);
} }
if (Victoire(found,GRILLE_X,GRILLE_Y)){ if (Victoire(found,grille_x,4)){
printf("Victoire !\n"); printf("Victoire !\n");
break; break;
} }

View File

@ -21,7 +21,7 @@ int Victoire(int* found, int x_grille, int y_grille);
void InsereTableau(int val, int* tab); void InsereTableau(int val, int* tab);
int essay(void); int essay(int grille_x);
#endif /* AFFICHAGE_H */ #endif /* AFFICHAGE_H */

View File

@ -78,14 +78,16 @@ int menu_principal(void){
y=_Y; y=_Y;
if((x>68) && (x<488) && (y>266) && (y<696)){ if((x>68) && (x<488) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(3);
} }
if((x>537) && (x<958) && (y>266) && (y<696)){ if((x>537) && (x<958) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("white")); FermerGraphique();
essay(); essay(4);
} }
if((x>1007) && (x<1432) && (y>266) && (y<696)) { if((x>1007) && (x<1432) && (y>266) && (y<696)) {
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(5);
} }
} }
} }
@ -100,14 +102,16 @@ int menu_principal(void){
x=_X; x=_X;
y=_Y; y=_Y;
if((x>68) && (x<488) && (y>266) && (y<696)){ if((x>68) && (x<488) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(3);
} }
if((x>537) && (x<958) && (y>266) && (y<696)){ if((x>537) && (x<958) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("white")); FermerGraphique();
essay(); essay(4);
} }
if((x>1007) && (x<1432) && (y>266) && (y<696)) { if((x>1007) && (x<1432) && (y>266) && (y<696)) {
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(5);
} }
} }
} }
@ -122,14 +126,16 @@ int menu_principal(void){
x=_X; x=_X;
y=_Y; y=_Y;
if((x>68) && (x<488) && (y>266) && (y<696)){ if((x>68) && (x<488) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(3);
} }
if((x>537) && (x<958) && (y>266) && (y<696)){ if((x>537) && (x<958) && (y>266) && (y<696)){
EffacerEcran(CouleurParNom("white")); FermerGraphique();
essay(); essay(4);
} }
if((x>1007) && (x<1432) && (y>266) && (y<696)) { if((x>1007) && (x<1432) && (y>266) && (y<696)) {
EffacerEcran(CouleurParNom("grey")); FermerGraphique();
essay(5);
} }
} }
} }

50
timer.c
View File

@ -1,48 +1,12 @@
#include "timer.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include <graph.h> #include <graph.h>
#include <stdio.h>
unsigned long temps_ecoule = 0; void timer(unsigned long* temps_ecoule, unsigned long temps_microsec){
unsigned long temps = Microsecondes(); unsigned long temps_actuel = Microsecondes();
int time; if (temps_actuel > temps_microsec + 1000000){
int seconde_passee; temps_microsec = temps_actuel;
int minutes = 0; *temps_ecoule++;
int secondes = 0; printf("%d",*temps_ecoule);
//int a = 1;
int temps_reference = 0;
char afficher_temps[20];
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_reference<temps_ecoule){
temps_reference +=1;
time = (int) (temps_ecoule / 1000000);
if (time != seconde_passee){
seconde_passee = time;
secondes = time ;
if (secondes >59){
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;
}

View File

@ -1,7 +1,8 @@
#ifndef TIMER_H #ifndef TIMER_H
#define TIMER_H #define TIMER_H
int timer(void); void timer(unsigned long* temps_ecoule, unsigned long temps_microsec);
#endif /* TIMER_H */ #endif /* TIMER_H */