Bonjour je voulais savoir sil est possible de faire deux rand different pour utiliser un dans une fonction et un autre dans un autre fonction . Jai essayé mais celui-ci reproduit la meme chose dans mes deux fonction.
Bonjour je voulais savoir sil est possible de faire deux rand different pour utiliser un dans une fonction et un autre dans un autre fonction . Jai essayé mais celui-ci reproduit la meme chose dans mes deux fonction.
Bonjour,
As-tu bien appelé srand() au préalable ?
Sinon tu as des entrées sur srand dans la FAQ C.
Pourquoi ne pas utiliser les nombres aléatoire tels qu'ils le devraient en C++ plutôt que d'utiliser ce qui est fourni par le C ?
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <random> void fn1(unsigned int x); void fn2(unsigned int x); void sample() { std::mt19937 eng; std::uniform_int_distribution<unsigned int> rnd(0, 10); fn1(rnd(eng)); fn2(rnd(eng)); }
J'ai ça dans mon main
et dans une de mes fonctions j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part srand(static_cast<unsigned int>(time(0)));
j'ai associé des chiffres entre 0 a 4 à des déplacements
Code : Sélectionner tout - Visualiser dans une fenêtre à part random=rand() % 4;
ma première fonction de déplacement marche mais si je copie la même chose
dans mon autre fonction de déplacement celui-ci va copier l'autre alors j'ai deux personnages qui bougent de la même manière comme si le rand était le même pour les deux ce que je ne veux pas du tout.
Tiré du man de rand:
Si vous désirez engendrer un entier aléatoire entre 1 et 10, vous devez toujours procéder en utilisant les bits de poids forts, comme dans :
j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
et jamais ainsi :
j=1+(rand() % 10);
(car cette derniere version utilise les bits de poids faibles).
Pas de solution, pas de probleme
Une réponse utile (ou +1) ->
Une réponse inutile ou pas d'accord -> et expliquer pourquoi
Une réponse à votre question
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager