1

J'essaie d'utiliser la fonction rand pour mélanger un jeu de 52 cartes, mais cette fonction renvoie toujours la même séquence alèatoire sad

Au secours !!!

Est ce que quelqu'un peut m'aider.

Voici le source

void MelangeCarte()
{
int permute;
int l;
long AdresseHeure;

srand((unsigned int)time(& AdresseHeure));

for( l = 1 ; l < 53 ; l++)
{
permute = 1+rand() % 51;
tmp_carte = paquet[ l ];
paquet[ l ] = paquet[ permute ];
paquet[ permute ] = tmp_carte;
}
}

2

comme ca ca marche tres bien : srand(GpTickCountGet()) ;
par contre, execute le apres un menu ou koi, pour que le temps soit toujour != et donc la sequence de nombre aussi smile
et la le mec il le pécho par le bras et il lui dit '

3

Merci j'essai ça de suite smile

4

Super ça marche smile Merci bcp pour le truc !
Mais pourquoi l'autre soluce ne marche pas ? "time()"

5

Ca marche aussi avec SDL_GetTicks() de la SDL, c'est bon à savoir smile

6

je c pas, time() fait koi ?

SDL_GetTicks() doit surement te renvoyer vers GpTickCountGet() ^^
et la le mec il le pécho par le bras et il lui dit '

7

en fait le trucs c'est que le int que tu entre parenthese est la racine par laquelle la serie de calcul va etre produite pour donner un nombre aléatoire c'est pour ca que pour les tests au debut c'ets tjs bien de tester avec tjs la mm sequence ^_^
volà tu sais tout ^_^

8

time() récupére les infos de l'horloge system, dans le data book du microcontroler, il est mentionné que celui possède une horloge interne donc c'est bizarre, à moins que celle-ci ne fonctionne pas sad

9

-