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

C++ Discussion :

Rafraichissement d'un compteur


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 15
    Par défaut Rafraichissement d'un compteur
    Bonjour à tous,

    Donc voilà je suis étudiant et dans le cadre de mes études je dois développer 1 jeu en C++. Le projet avance plutôt bien, mais là j'ai 1 petit problème.

    Dans le jeu j'ai 1 compteur qui s'actualise toutes les secondes, 1 idée sur la fonction que je pourais utiliser pour le faire ? Y a t il 1 fonction permettant de rappeller 1 autre fonction toute les secondes ?

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Mono ou multithreadé ?
    Tu veux savoir la date de l'instant courant? Ou bien déclencher un événement à intervalles régulier ?

    (Dans tous les cas, il n'y a rien de standard en C++).
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 15
    Par défaut
    Mono thread, en fait mon compteur c'est juste 1 truc qui se décrémente de 1 à chaque seconde.

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Alors un simple appel à time() suffit. A toi de faire la différence par rapport au temps max que tu t'es donné.
    Si tu veux une précision plus grande, il faut autre chose, comme clock() p.ex.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 15
    Par défaut
    Mais la fonction Time() ne renvois que la date et l'heure courante non ?

    A quoi peut elle me servir dans mon cas ?

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Je ne te parle de "Time()", mais de "time()"
    Ensuite, supposons que tu veuilles compter de maintenant à maintenant + 20 secondes.
    Et bien, obtiens le "maintenant", ajoutes lui 20 secondes, cela te donnera la date de fin.
    Après, dans ta boucle fais la différence entre cette date max et la date courante pour savoir ce qu'il te reste.
    C'est bourrin, mais ça marche.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 15
    Par défaut
    En fait j'ai une variable qui me sert de compteur. Au lancement cette variable est initialisé à 60. Je souhaite que la valeur de cette variable se décrémente toutes les secondes.
    Suivant ce que fait le joueur durant la partie ce compteur est amené à être incrémenté (et donc décrémenté à chaque seconde).

    Sachant ça,je vois pas trop comment me servir de ta solution.

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Le principe est celui énoncé par Luc Hermitte .

    Regarde du côté du calcul des "FPS", c'est trés semblable.

    Tu va en général te servir d'une fonction te permettant de récupéré le temps écolé depuis une certaine date. ( date fixe,dernier reboot du pc, chargement du programme ou autre...)

    A chaque frame tu soustrait le nouveau temps avec l'ancien et tu as le temps écoulé depuis la dernière frame.

    Tu additione ces temps dans une variable et tu a un compteur qui incrémente et compte le temps écoulé tout simplement. Après tu peux faire ce que tu veux en modifiant un peu le code.

  9. #9
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par Bqda
    En fait j'ai une variable qui me sert de compteur. Au lancement cette variable est initialisé à 60. Je souhaite que la valeur de cette variable se décrémente toutes les secondes.
    Suivant ce que fait le joueur durant la partie ce compteur est amené à être incrémenté (et donc décrémenté à chaque seconde).

    Sachant ça,je vois pas trop comment me servir de ta solution.
    Je sais bien que je ne suis pas toujours très clair, mais là je vois difficilement comment faire plus clair.
    Oublie ta variable elle est sans la moindre importance. Tout ce que tu veux c'est savoir combien de temps il te reste. A partir du moment où tu sais faire des additions et des soustractions (et les interpréter), et que tu es capable d'obtenir une date courante, ben c'est immédiat.
    Fais un dessin peut-être ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Rafraichissement de plusieurs compteurs
    Par Sake_reflex dans le forum Android
    Réponses: 4
    Dernier message: 27/07/2011, 10h05
  2. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  3. [VB6] [Datareport] Pb de rafraichissement
    Par Gadoul dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/02/2003, 10h06
  4. Toujours un problème de rafraichissement de DBGrid
    Par tripper.dim dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h15
  5. Timage rafraichissment
    Par Rizzla dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/09/2002, 17h08

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