J'ai réaliser un boggle en mode console sous linux.

Je voudrais y intégrer un timer de 180s. Mais je me retrouve avec un décalage.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
 
 
int main(void)
{
 
printf (" \033[2J");
 
int chrono = 0;
int tempsPrecedent = 0, tempsActuel = 0;
do
    {
      printf ("\033[1;6H");
      printf ("%d s\n", chrono);
      tempsActuel = clock ();
 
printf("actuel %f\n\n",(double)tempsActuel/CLOCKS_PER_SEC);
printf("temps precedent %f\n",(double)tempsPrecedent/CLOCKS_PER_SEC);
printf("temps restant %f\n",(double)(tempsActuel - tempsPrecedent));
printf("%ld secondes\n", tempsActuel/CLOCKS_PER_SEC);
 if ((double)(tempsActuel - tempsPrecedent) > 30)    /* Si 30 ms s'est écoulée */
    {
 
tempsPrecedent = tempsActuel;
 
}
        /* Le temps "actuel" devient le temps "precedent" pour nos futurs calculs */
 
      else          /* Si ça fait moins de 1 s depuis le dernier tour de boucle, on endort le programme le temps qu'il faut */
    {
 
usleep (11 - (double)(tempsActuel - tempsPrecedent));
 
    }
 
    }
  while (tempsActuel/CLOCKS_PER_SEC<180);
 
}
Je pense que pour mon cas, je devrais me baser sur horloge temps reel.

J'ai du mal a comprendre la fonction time, j'ai trouvé ceci: http://manpagesfr.free.fr/man/man7/time.7.html.

Merci pour votre aide.