Timer dans un jeux

Résolu
HoniiR Messages postés 32 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 14 août 2015 - Modifié par cptpingu le 3/04/2014 à 13:41
jordane45 Messages postés 36339 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 septembre 2022 - 7 juil. 2014 à 16:07
Bonjour, J' ai commencer la programmation d'un jeu en C je me suis bien fait aidé par la communauté CCM je voudrait insérer un chronomètre pour savoir combien de temps la partie à durée.

Voici le code Source actuel :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main(int argc, char** argv)

{
 int encore = 1;
do
{

{
    int compteur = 0, choixDifficulte = 0;
    int nombreMystere = 0, nombreEntre = 0, max = 0;
    const int min = 1;



    printf("Menu de selection de la difficulte :\n"  \
        "\t1. Facile (de 0 a 100\n\t2. Medium (de 0 a 500)\n" \
        "\t3. Dificile (de 0 a 1000)\n\t4. Libre\n");
    printf("\n\nVotre choix ? ");
    scanf("%d", &choixDifficulte);

    switch(choixDifficulte)
        {
    case 1: max = 100; break;
    case 2: max = 500; break;
    case 3: max = 1000; break;
    case 4:
      printf("Quelle est votre nombre maximum ? ");
      scanf("%d", &max);
      printf("Nombre maximum : %d", max);
      break;
    default:
      fprintf(stderr, "Choix invalide !\n");
      exit(1);
        }


    // Génération du nombre aléatoire
    srand(time(NULL));
    nombreMystere = (rand() % (max - min + 1)) + min;


    /* La boucle du programme. Elle se répète tant que l'utilisateur n'a pas trouvé le nombre mystère */
    do
            {
                // On demande le nombre
                printf("\nQuel est le nombre ?\n");
                scanf("%d", &nombreEntre);
                compteur = compteur + 1;
                // On compare le nombre entré avec le nombre mystère

                if (nombreMystere > nombreEntre)
                printf("C'est plus !\n");
                else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n");
                else
                printf ("Bravo, vous avez trouvé le nombre mystere en %d coup !!!\n", compteur);

            } while (nombreEntre != nombreMystere);
}
       {

        printf("\n\n Voulez-vous continuer ? \n\n          Oui: Taper un nombre(sauf 0) \n          Non: Taper 0 \n\n\n Votre choix ?");
        scanf("%d", &encore);
       }

} while (encore != 0);
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4 réponses

cptpingu Messages postés 3834 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 20 octobre 2021 125
3 avril 2014 à 13:40
Bonjour.

Merci de mettre des balises de code, quand tu postes un code !
Je te les ai ajouté, mais la prochaine fois, je supprime le message (ce n'est pas la première fois que tu les oublies).

Pour répondre à ta question, tu peux utiliser "gettimeofday" (pour linux) ou "QueryPerformanceCounter" (pour Windows). Cette fonction récupère la date courante et le temps courant. Tu le lances une fois au début de ton application, et une fois à la fin. Tu compares les deux dates, et tu as le temps d'exécution.
Voir (c'est du C++, mais il y a moyen d'adapter pour du C): http://0217021.free.fr/portfolio/axel.berardino/articles/calculer-le-temps-execution

__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
1
jordane45 Messages postés 36339 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 septembre 2022 350
3 avril 2014 à 13:36
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du
code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
Wiiist Messages postés 11 Date d'inscription lundi 7 juillet 2014 Statut Membre Dernière intervention 15 juillet 2014
Modifié par Wiiist le 7/07/2014 à 14:09
Bonjour,

Si la réponse te convient, peux tu marquer la question comme résolue que la communauté s'y retrouve ?

Merci

Cordialement
0
jordane45 Messages postés 36339 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 septembre 2022 350
7 juil. 2014 à 16:07
Wiiist...
Pour l'instant l'utilisateur ne semble pas être revenu sur le forum....
Nous ne savons pas si la réponse donnée lui convient...
Il sera temps... lors de sa réapparition future, de le lui demander....
Par contre, même si ta remarque est "justifiée".., elle ne fait que faire "remonter" dans le haut du panier cette discussion qui date de début avril...
0