Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/03/2008, 23h22   #1
Invité régulier
 
Inscription : février 2008
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 14
Points : 6
Points : 6
Par défaut [Tableaux] Dés pipés - Aléatoire truqué ( ponderé )

Bonjour a tous,

Je cherche a faire une fonction qui tirait au hazard des ligne d'un array en fonction du "poid" quelle aurait.

Si j'ai une array de ce type :

a => 10
b => 20
c => 100

Je voudrais que a tombe 2 fois moins souvent que B et 10 fois moins que C

J'ai fait un petit tour sur le net ( et sur ce forum) avant d'ouvrir ce sujet et je n'ai trouvé qu'une méthode qui consiste à passer par une grand array intermédiaire ou l'on met plusieurs fois les même valeurs pour créer de l'aléatoire "faussé".

Ça donnerais un truc du genre :
a, b , c, c, c, c, c, c, c, c, c, c ou l'on tire aléatoirement dedans.

Mais quand les coefficients sont assez précis ( genre 1.893 ) ça ne marche plus ou alors il faut faire une énorme array pour y arriver et je voit pas comment rendre les choses facile à mettre en oeuvre.

Y'a t'il un solution plus simple pour faire ca ?

J'imagine que vu le nombre de site de casino en ligne quelqu'un c'est déjà posé la question non ?

Merci beaucoup.
nebverg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2008, 01h42   #2
Invité régulier
 
Inscription : mars 2008
Messages : 12
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 12
Points : 8
Points : 8
Si ce n'est que ces variables, je pense à un truc comme ça :
- génération entre 1 et 130
- si résultat entre 1 et 10 => a=resultat
- si résultat entre 11 et 30 => b=resultat
- si résultat entre 31 et 130 => c=resultat
C'est de la tambouille, et je suis sur tellement de langages en même temps que je ne sais même plus si PHP permet de faire un random précisément jusqu'à 130. Mais à moins d'avoir des centaines de variables définissant les chances, c'est comme ça que je ferais
PhiphyL est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h13.


 
 
 
 
Partenaires

Hébergement Web