| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
turtle_of_the_death Nain-dispensable

Inscrit le: 01 Mar 2003 Messages: 815 Localisation: en deuil accroché a la jambe de bodom
|
Posté le: Lun 20 Sep, 2004 11:32 Sujet du message: [code] Random PHP, une idée? |
|
|
Bon voilà, je me demandais comme il s'est avéré que la fonction rdm() de php est merdique (renvoyant des valeurs souvent minimalistes). Je fais une sorte d'enquête pour savoir comment chacun des admins qui utilise la fonction contourne le problème.
Certains utilise une addition de random afin d'avoir plutôt des résultats vers le milieu de la valeur de la variable. Genre pour 1d6 -> on fait l'addition de 1 à 3 + 0 à 3 Les valeurs qui tomberont seront plutot vers 3 que sur les extrèmes de simple logique!
Donc voilà, je vous demande votre expérience pour m'aider dans mon enquête qu'on appelera à la recherche du random parfait.
merci d'avance! |
|
| Revenir en haut de page |
|
 |
_alec Nain-filtré(e)
Inscrit le: 17 Mai 2004 Messages: 53
|
Posté le: Lun 20 Sep, 2004 12:44 Sujet du message: |
|
|
?
J'ai pas trouvé rdm() dans les fonctions PHP...
Par expérience je sais que les fonctions générant des nombres aléatoires renvoit un nombre compris entre 0 et 1 (c'est à dire 0,xxx <-- tout plein de chiffre après la virgule).
En PHP, on fait tout simple... :
| le ouebmaster de www.php.net a écrit: | srand -- Initialise le générateur de nombres aléatoires
Description
void srand ( [int seed])
...
rand -- Génère une valeur aléatoire
Description
int rand ( [int min, int max])
... |
un tit exemple :
<?php
srand(); // On initialise le générateur, pour éviter de voir afficher toujours les mêmes valeurs...
echo rand(1,20); // ça affichera un nombre entre 1 et 20
?>
Mieux, la fonction mt_rand() est utilisée de la même façon que rand(), mais est beaucoup plus rapide et renvoi des nombres moins 'douteux'. /!\ L'initialisation se fait avec mt_rand() !
Voila, j'avoue c pas trop dur.. mais bon... chacun son cogito : Je m'ennuie donc je post ! |
|
| Revenir en haut de page |
|
 |
turtle_of_the_death Nain-dispensable

Inscrit le: 01 Mar 2003 Messages: 815 Localisation: en deuil accroché a la jambe de bodom
|
Posté le: Lun 20 Sep, 2004 12:57 Sujet du message: |
|
|
Autant pour moi j'avais pas vu que j'avais merdé et oublié le "a" de rand()...
En tt cas, certaines de tes remarques concernant srand() et mt_rand() ont l'air intéressante, j'irais planché de ce coté là pour voir leur différence et les testé.
Mais bon, moi je voulais juste aussi comparé ce que chacun utilisait c'ets tout rien de bien méchant
 |
|
| Revenir en haut de page |
|
 |
Skalpette Nain-stallé(e)

Inscrit le: 13 Fév 2004 Messages: 240
|
Posté le: Lun 20 Sep, 2004 16:25 Sujet du message: |
|
|
vu sur http://www.nexen.net/docs/php/annotee/function.rand.php
| Citation: | Note
Depuis PHP 4.2.0, vous n'avez plus besoin d'initialiser le générateur de nombres aléatoires avec srand ou mt_srand car c'est fait automatiquement. |
normalement ca ne sert plus, ca depend de la version de php (phpinfo()) |
|
| Revenir en haut de page |
|
 |
Dobmec Nain-dispensable

Inscrit le: 09 Aoû 2003 Messages: 901 Localisation: DTC Guillius
|
Posté le: Lun 20 Sep, 2004 22:31 Sujet du message: |
|
|
Sinon tu le crée toi même le générateur de nombres aléatoires.
T'initialises un timer, tu récupères la valeur, tu lui applique une division euclidienne par un nombre plus ou moins grand (la borne sup de ton intervalle de préférence), tu récupère le reste de cette division, et t'as un nombre compris entre 0 et taborne - 1, qui est globalement assez aléatoire si le nombre pris comme borne est grand. |
|
| Revenir en haut de page |
|
 |
Skipp modère plus blanc que blanc...

Inscrit le: 24 Mai 2002 Messages: 4592 Localisation: [~]-World
|
Posté le: Mar 21 Sep, 2004 4:17 Sujet du message: |
|
|
Le mieux reste un chapeau avec des petits papiers sur lesquels sur écrits les chiffres / numéros le tout piocher au hasard par une main innocente  |
|
| Revenir en haut de page |
|
 |
Arnold_le_joufflu Nain-dispensable

Inscrit le: 14 Fév 2003 Messages: 1142
|
Posté le: Mar 21 Sep, 2004 6:36 Sujet du message: |
|
|
ça a tendance à marcher beaucoup moins bien en php  |
|
| Revenir en haut de page |
|
 |
[GND]Arwall Généralement désarmant

Inscrit le: 22 Mai 2002 Messages: 6702
|
Posté le: Mar 21 Sep, 2004 7:07 Sujet du message: |
|
|
| si ca marche . d'ailleurs on a quatre stagiaire asiatiques qu'on paye pas qui tire dans un giga chapeau pour savoir si y'a un critique a nainwak ... |
|
| Revenir en haut de page |
|
 |
pogman Nain(e) à l'aise
Inscrit le: 25 Jan 2004 Messages: 168 Localisation: qque part au bord d'un Lac
|
Posté le: Mar 21 Sep, 2004 10:42 Sujet du message: |
|
|
| [GND]Arwall a écrit: | | si ca marche . d'ailleurs on a quatre stagiaire asiatiques qu'on paye pas qui tire dans un giga chapeau pour savoir si y'a un critique a nainwak ... |
lol ben je pourrais avoir leur mail (si ils ont le droit d'aller lire leur mail entre 600 tirages...) car en 4 mois j'ai fait qu'UN seul critique et c'etait au poing en +
 |
|
| Revenir en haut de page |
|
 |
turtle_of_the_death Nain-dispensable

Inscrit le: 01 Mar 2003 Messages: 815 Localisation: en deuil accroché a la jambe de bodom
|
Posté le: Mar 21 Sep, 2004 10:46 Sujet du message: |
|
|
| [GND]Arwall a écrit: | | si ca marche . d'ailleurs on a quatre stagiaire asiatiques qu'on paye pas qui tire dans un giga chapeau pour savoir si y'a un critique a nainwak ... |
Excellente suggestion.Faute de personnel je prendrais donc bodom de neige et patators pour els éviter déja de progresser en guitare et puis parce que je suis sur qu'on peut les payer pas trop trop cher
 |
|
| Revenir en haut de page |
|
 |
bodom de neige Megalmodo

Inscrit le: 14 Mai 2002 Messages: 3315 Localisation: dans un pack de bière (bah oui un nain ça tient dans un pack de bière)
|
Posté le: Mar 21 Sep, 2004 16:57 Sujet du message: |
|
|
Oh ben je progresse plus depuis longtemps en guitare, maintenant que je fais de la basse  |
|
| Revenir en haut de page |
|
 |
Frór Nain-doré(e)

Inscrit le: 12 Déc 2003 Messages: 1956 Localisation: monde des #RAMPANT
|
Posté le: Mar 21 Sep, 2004 19:09 Sujet du message: |
|
|
y'a bien les algorithmes ISAAC et MersenneTwister ... Très faciles à trouver sur le net
MersenneTwister est implémenté dans PHP par la fonction mtsrand(); puis mtrand();
http://be2.php.net/manual/fr/function.mt-srand.php |
|
| Revenir en haut de page |
|
 |
|