From 9613b590c42c4cce93c9319e417ecd66f51fce63 Mon Sep 17 00:00:00 2001 From: Axel Date: Sun, 11 Dec 2022 12:36:12 +0100 Subject: [PATCH] Ajout du timer et finalisation du code + Ajout des commentaires --- affichage.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/affichage.c b/affichage.c index fded41d..d4f37d6 100644 --- a/affichage.c +++ b/affichage.c @@ -1,9 +1,9 @@ -#include "timer.h" #include #include #include int Trouvee(int* found, int carte){ + //Cette fonction vérifie si la carte est présente dans le tableau found, qui contient toutes les paires trouvées int i; for (i=0;i<10;i++){ if (found[i] == carte) return 1; @@ -76,6 +76,7 @@ void DessinerGrille(int x_g, int y_g, int x_fen, int y_fen, int triche, int* fou } void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][5]){ + //Fonction principale du jeu (Vérifie lors d'un clic si la souris a cliqué sur une carte, et vérifie l'emplacement de cette carte et son numéro de paire dans le tableau de la grille int l_case = (x_fen-((10*x_g)+10))/x_g; int h_case = (y_fen-((10*y_g)+10))/y_g; int x = 0; @@ -100,7 +101,8 @@ void Jeu(int x_g, int y_g, int x_fen, int y_fen, int* carte, int tab[4][5]){ } -void GenererGrille(int x_grille, int y_grille, int tab[4][5]){ +void GenererGrille(int x_grille, int y_grille, int tab[4][5]){i + //Cette fonction génère la grille aléatoirement en fonction de la taille de la grille et l'insère sous forme de paires d'int de 1 à 10 dans le tableau tab srand(Microsecondes()); int i,j; int coos[2]; @@ -125,10 +127,12 @@ void GenererGrille(int x_grille, int y_grille, int tab[4][5]){ void Triche(int* triche){ + //Cette fonction active ou désactive le mode de triche via une variable pour que dans n'importe quel partie du programme le mode de triche puisse être vérifié facilement *triche = -(*triche); } int Victoire(int* found, int x_grille, int y_grille){ + //Cette fonction vérifie les conditions de victoire en fonction de la taille de la grille, en vérifiant la liste des paires trouvées int i,j; for (i=0;i<(x_grille*y_grille)/2;i++){ if (found[i] == 0) return 0; @@ -138,6 +142,7 @@ int Victoire(int* found, int x_grille, int y_grille){ void InsereTableau(int val, int* tab){ + //Cette fonction insère dans un tableau (Dans l'utilisation ici le tableau des paires trouvées) une valeur à la suite des valeurs différentes de 0 int i; for (i=0;i<10;i++){ if (tab[i] == 0){ @@ -148,12 +153,17 @@ void InsereTableau(int val, int* tab){ } int essay(int grille_x){ + //Ancienne fonction main avant l'implémentation des menus, permet de jouer en fonction de la taille x de la grille + //Les tailles prévues dans le jeu ont un y fixe, faisant que seul le x est nécessaire en paramètre. + //Peu importe le grille_x en paramètre, le jeu s'adaptera dans une taille de fenêtre fixe. + //La fonction ne renvoie rien puisque la fin du jeu signifie la fin du programme. char afficher_temps[20]; int tab[4][5] = {{},{},{},{}}; int o; unsigned long temps_microsec = Microsecondes(); unsigned long temps_ecoule = 0; unsigned long temps_ancien = -1; + unsigned long temps_actuel = 0; int i,j; int x=1; int temps; @@ -169,9 +179,14 @@ int essay(int grille_x){ DessinerGrille(grille_x,4,1500,844,0,found,tab); while(1){ if (x==1){ - timer(&temps_ecoule, temps_microsec); + temps_actuel = Microsecondes(); + if(temps_actuel > temps_microsec + 1000000){ + temps_microsec = temps_actuel; + temps_ecoule = temps_ecoule + 1; + printf("%d\n", temps_ecoule); + } } - if (temps_ecoule = temps_ancien+1){ + if (temps_ecoule == temps_ancien+1){ temps_ancien = temps_ecoule; ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(675,25,160,30); @@ -223,6 +238,7 @@ int essay(int grille_x){ temps = Microsecondes(); retourne_time = Microsecondes()+1000000; while (temps < retourne_time){ + temps = Microsecondes(); } DessinerGrille(grille_x,4,1500,844,0,found,tab);