Bonsoir,
Je dois réaliser un chronomètre pour mon projet où je dois commencer à compter dès que l'utilisateur appuie sur 1 puis s'il choisi d'enregistrer sa partie enregistre la variable dans un fichier sauvegarde.txt et si l'utilisateur appuie sur 2 il lit dans le fichier la variable et continue de compter à partir de cette variable.
Je me demande également s'il faut obligatoirement un thread ?
Voici mon code .h et .c :
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 /********************************************************** * * NOM : chronometre.h * SUJET : Lancement du chronometre. * * AUTEUR : VN * VERSION : 0.3.1 * CREATION : 30/10/2012 * DER. MODIF. : 30/10/2012 * * ACCES SRC : C:\Users\Nico\Desktop\Projet Tamagoshi\src * FABRICATION : Lancer le .exe * * CONTRAINTES : Thread * ********************************************************/ #ifndef CHRONOMETRE #define CHRONOMETRE #include <time.h> #include <windows.h> //Placé ici car sinon la définition de WinMain devient conflicutelle #include "constantes.h" /* void chronometrer(void* arg) ; void demarrerThread () ; extern uintptr_t thr_chrono ; //Thread chronomètre extern int tempsEcoule ; //Temps écoulé extern int chronometreDemarre ; extern SDL_Event eventGame ; //Event de la session de jeux */ #endif
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 /********************************************************** * * NOM : chronometre.h * SUJET : Lancement du chronometre. * * AUTEUR : VN * VERSION : 0.3.1 * CREATION : 30/10/2012 * DER. MODIF. : 30/10/2012 * * ACCES SRC : C:\Users\Nico\Desktop\Projet Tamagoshi\src * FABRICATION : Lancer le .exe * * CONTRAINTES : Thread * ********************************************************/ #include "constantes.h" #include "chronometre.h" /* uintptr_t thr_chrono ; //Thread chronomètre int tempsEcoule ; //Temps écoulé //indicateurs int chronometreDemarre ; void demarrerThread () { if (!chronometreDemarre) { chronometreDemarre=1; // Réinitialisation du compteur thr_chrono= _beginthread(chronometrer, 0, NULL ) ; printf("Lancement du chronomètre: \n"); } } SDL_Event user_event; void chronometrer(void* arg) { user_event.type=SDL_USEREVENT; user_event.user.code=2; user_event.user.data1=NULL; user_event.user.data2=NULL; tempsEcoule=0 ; time_t currentTime; time_t startTime; time(&startTime) ; //Temps écoulé au démarrage printf("Thread debut %d\n", (int)startTime ) ; while(1) { Sleep(500); time(¤tTime); tempsEcoule = currentTime-startTime; // printf("%d\n", (int)(currentTime-startTime)); //Déclenchement de l'evenement SDL_PushEvent(&user_event); } printf("Thread stop %d\n", (int)currentTime); } */
Partager