Problème dans mon chronomètre
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:
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:
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);
}
*/ |