15-06-2010, 07:00 AM
(14-06-2010, 03:32 PM)Argorate a écrit : a quoi cela sert de l'initialisé nous même en "manuel" si la fonction le gère?)
Comme je l'expliquais, initialiser la graine avant de lancer des séries de tirage aléatoires garantie de refaire les même tirages dans le même ordre.
Prenons un système de combat avec une possibilité de replay.
La réussite de chaque attaque/parade étant basée sur un jet aléatoire, tu as deux solutions au départ pour permettre le replay.
- soit tu enregistres tous les évènements, tous les jets et tu montes un module spéciale pour le replay.
- Soit tu initialises le moteur aléatoire avec mt_srand() en utilisant au départ une graine (en te basant sur le microtime ou en utilisant mt_rand() par exemple) que tu vas stocker.
Lorsque tu veux rejouer le combat, il te suffit de réinitialiser le système aléatoire avec mt_srand() et ta graine puis d'appeler le module de combat. Les résultats seront exactement identiques.
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC