Partage
  • Partager sur Facebook
  • Partager sur Twitter

rand()

c'est pas vraiment rand

Sujet résolu
    4 mai 2008 à 20:03:53

    voila mon souci !! J'ai créer un rpg 2D style zelda avec des monstres des armes etc...

    bref tout va bien :-°

    Sauf les monstres qui doivent se déplacer aléatoirement mais ma fonction :
    dir = (rand() % (MAX - MIN + 1)) + MIN;
    


    n'est pas vraiment aléatoire ... en fait elle l'est mais sans l'être ...

    dir étant la direction que le monstre doit prendre (entre 0 et 3) le soucis vient je pense de l'absence de

    srand(time(0));
    


    mais je n'arrive pas a faire marcher ce srand((time(0)) ... et je ne vois pas pourquoi ... si quelqu'un a une idée ou a déja eu un problème similaire ...
    • Partager sur Facebook
    • Partager sur Twitter
      4 mai 2008 à 20:06:16

      Tu as inclu time.h ?

      #include <time.h>
      • Partager sur Facebook
      • Partager sur Twitter
        4 mai 2008 à 20:07:46

        srand(time(0));

        doit être appelé une et une seule fois. Par exemple tout au début de ton programme.
        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
          4 mai 2008 à 20:11:39

          Je ne sais pas si sa change quelque chose, mais ne serait-ce pas:

          srand(time(NULL));
          
          • Partager sur Facebook
          • Partager sur Twitter
            4 mai 2008 à 20:13:23

            la plus part du temps, NULL est défini comme :

            const unsigned int NULL = 0;

            C'est donc strictement équivalent, il est juste utilisé en C pour différencier de la valeur "mathématique" 0.

            P.S.: Pour les puristes: C'est pas exactement ce que j'ai écrit, mais l'esprit est là.
            • Partager sur Facebook
            • Partager sur Twitter
            Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
              4 mai 2008 à 20:14:31

              J'ai trouvé !!! Topic du SDZ

              Je croyais que c'était <time.h> :euh: en fait c'était <ctime> merci a vous tous quand meme ^^

              Edit: arg j'ai pas check résolu ... et je peut plus >_<
              • Partager sur Facebook
              • Partager sur Twitter
                4 mai 2008 à 20:19:49

                Merci pour la précision Nanoc.
                • Partager sur Facebook
                • Partager sur Twitter
                  4 mai 2008 à 20:26:08

                  Merci Joe ! je marque résolu ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  rand()

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown