Bonjour, j'aimerais savoir s'il est possible en PHP d'avoir un random dépendant d'un % de chance.
Par exemple, pour un jeu, si l'on dit que le monstre M a 50% chances de donner l'item 1, 25% chance de donner l'item 2 et 0,1% chance de donner l'item 3.
Donc:
50% - 1
25% - 2
0,1% - 3
L'item 1 a le plus de chance d'être donné car il a le plus haut %.
Pour le moment j'avais pensé me faire une table qui ressemblerait à cela:
et dans mon code j'aurais fais quelque chose comme...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 monstre -- item -- prc M 1 50 M 2 25 M 3 0.1
mais il doit bien y exister une autre méthode plus efficace?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $drop = array(); foreach($itemSQL as $item) { for($i=0;$i<=$item['prc'];$i++) { array_push($drop, $item['item']); } } $randDrop = rand(0,count($drop)); $currDrop = $drop[$randDrop];![]()
Merci d'avance
EDIT: De plus, ma méthode ne gère pas les 0,1% a moins de multiplier le tout par 10 et la... c'est encore pire :S (750 données dans un tableau, bien que rapide, je ne crois aucunement que ce soit saint ^^)
Partager