IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Problème dans mon chronomètre


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif

    Avatar de nicosmash
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 395
    Par défaut 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 : 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);
     
    }
    */

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 062
    Billets dans le blog
    143
    Par défaut
    Bonjour,

    Dans la SDL, il y a les timers, qui peuvent vous intéresser. Sinon, on peut s'en sortir avec un SDL_GetTicks() (en regardant le temps plusieurs fois).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    sinon, il y a aussi std::chrono du C++11

  4. #4
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738

Discussions similaires

  1. [PHP-JS] problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 08h57
  2. problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 16h40
  3. Réponses: 13
    Dernier message: 17/10/2006, 15h35
  4. Problème dans mon JSP
    Par johnpelu dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 02/06/2006, 14h45
  5. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo