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(&currentTime);
        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);
 
}
*/