Idée : Ajout d'un dénombrement des formules découvertes
Je propose à guu_sama d'ajouter un indicateur permettant de savoir combien de formules ont été découvertes avec des plantes données.
1. Présentation
Il faudrait qu'à l'issue d'une recherche, un indicateur affiche :
- le total des formules trouvées avec les plantes choisies
- le maximum de formules pouvant être réalisées avec ces plantes
- [éventuellement] un pourcentage total/maximum
Le but est de pouvoir mieux cibler les formules n'ayant pas été testées. On a déjà abordé cette problématique plus tôt ici même mais pas dans ces termes.
Avec cet ajout on pourra faire avancer plus efficacement la recherche des formules.
2. Réalisation
2.1 Le total
Etant donné que le total de chaque type de potion est déjà affiché, il suffit de faire une addition des différentes valeurs existantes.
2.2 Le maximum
Ici, il est question de maths. Le maximum de formules réalisables avec un nombre de plantes donné apparaissant chacune un nombre de fois donné, en tenant compte de l'ordre entre les plantes de types différents mais pas entre celles de types identiques, est représenté par une permutation avec répétition. Voir
ce lien vers wikipedia pour plus d'infos.
La formule à appliquer est :
maximum = nb_plantes! / (nb_p1! * nb_p2! * .. * nb_p5!)
Pour le réaliser en php, je vois deux solutions :
a) Une fonction factoriel
Code:
function factoriel($n) {
if ($n == 0)
return 1;
else
return $n*factoriel($n-1);
}
b) La fonction "resource gmp_fact ( int a )".
2.3 Le pourcentage
total / maximum * 100 . Inutile de le préciser
3. Exemples
Avec 4 plantes identiques et 1 différente,
p1,p1,p1,p1,p2
p1,p1,p1,p2,p1
p1,p1,p2,p1,p1
p1,p2,p1,p1,p1
p2,p1,p1,p1,p1
5 formules au maximum
maximum = 5! / (4! * 1!) = 120 / 24 = 5 (8))
Avec 5 plantes différentes,
maximum = 5! / (1! * 1! * 1! * 1! * 1!) = 120
Voila, en espérant que cette idée plaise à l'ensemble des alchimistes,
Merci guu_sama et les contributeurs.