JeuWeb - Crée ton jeu par navigateur

Version complète : [Résolu] L'aléatoire en PHP
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2 3 4
Bonjour à tous,

Voila j'ai un petit souci avec l'aléatoir de PHP: j'utilise la fonction mt_rand() pour tiré un pourcentage (mt_rand(1,100) et savoir si un joueur touche sa cible ou pas.

Mais elle semble avoir un défaut: tiré des valeur proche les une des autres si on le tir dans un laps de temps très court. Résultat, je me retrouve avec de plainte de joueur qui "rate toutes leurs attaques"... (Ben oui ils ne viennent pas ce plaindre de les réussir toutes :goodSmile.

Bref, je me demandais si l'un d'entres vous avaient déjà été confronté a ce problème et ce qu'il a put trouver pour le résoudre.

Amicalement,

Phenix
Je pense que tu devrais faire un log avec toutes les attaques et en tirer un pourcentage des attaques réussis et des attaques ratés.

Tu pourras déjà voir si il n'y a pas un problème (un trop gros pourcentage d'attaques ratés).

De plus, si quelqu'un se plaint, tu pourras toujours lui montrer les pourcentages (si ils sont normaux) et lui dire qu'il a tout simplement pas eu de chance ^^
Citation :Je pense que tu devrais faire un log avec toutes les attaques et en tirer un pourcentage des attaques réussis et des attaques ratés.

Tu pourras déjà voir si il n'y a pas un problème (un trop gros pourcentage d'attaques ratés).

De plus, si quelqu'un se plaint, tu pourras toujours lui montrer les pourcentages (si ils sont normaux) et lui dire qu'il a tout simplement pas eu de chance 34

J'ai déjà ces pourcentages, il sont normaux, le problème ne vient pas des pourcentage mais des série tiré par mt_rand. Ce qui fait que quelqu'un qui n'a pas chance n'en a pas pour toute la série ou en tout cas pour la majorité de la série même s'il a 80% de chance de plus c'est répétitif... c'est pas "juste une fois".
C'est le propre de l'aléatoire de n'être pas offrir une distribution homogène. Si c'était le cas, il serait prévisible (connaissant les X tirages précédents, on saurait qu'il y a des chances de tomber plus sur un résultat que sur un autre), et ne serait donc plus aléatoire.

Si quand tu fais 1 sur 1D100, tu sais qu'au tir prochain la probabilité de faire 1 est très faible, alors ça n'est plus du vrai aléatoire Wink
Or sur 3 lancers successifs, tu as autant de chance de faire 12 puis 37 puis 91 que 1 puis 1 puis 1.
C'est ce qu'on appelle le hasard Smile
Ce qu'il veut dire phenix c'est que pour un échantillon de 1000 lancés (par exemple) le tirage de valeur est équiprobable, mais que sur un faible laps de temps l'intervalle de valeurs tirées est assez restreint.
Comme un joueur joue généralement toutes ses attaques dans un laps de temps assez faible (quelques minutes), il a de grande chance d'avoir un très grand taux d'echec ou de réussite, mais rien de très équilibré.

La fonction mt_rand génère visiblement un tirage pseudo-aléatoire peu équilibré.

Et la question initiale est donc : "comment rendre ce tirage aléatoire plus équilibré, avec des tirages vraiment aléatoires, même si les tirage sont proches dans le temps?"

J'espère avoir bien redéfinis la problématique.
Citation :Ce qu'il veut dire phenix c'est que pour un échantillon de 1000 lancés (par exemple) le tirage de valeur est équiprobable, mais que sur un faible laps de temps l'intervalle de valeurs tirées est assez restreint.
Comme un joueur joue généralement toutes ses attaques dans un laps de temps assez faible (quelques minutes), il a de grande chance d'avoir un très grand taux d'echec ou de réussite, mais rien de très équilibré.

La fonction mt_rand génère visiblement un tirage pseudo-aléatoire peu équilibré.

Et la question initiale est donc : "comment rendre ce tirage aléatoire plus équilibré, avec des tirages vraiment aléatoires, même si les tirage sont proches dans le temps?"

J'espère avoir bien redéfinis la problématique.

C'est tout a fait cela.
À mon avis, tes joueurs se sentent persécutés par le hasard de manière injustifiée. Je doute que les jets, si peu espacées dans le temps soient-ils, donnent systématiquement des résultats proches.


Sephi-Chan
surtout que quand on me dit sur un intervalle très court, j'aurais cru sur un intervalle de l'autre du dizieme de seconde etc.
Mais sur un intervalle de l'ordre de la minute, je peux jurer que mt_rand est fiable!!!
joshua a écrit :surtout que quand on me dit sur un intervalle très court, j'aurais cru sur un intervalle de l'autre du dizieme de seconde etc.
Mais sur un intervalle de l'ordre de la minute, je peux jurer que mt_rand est fiable!!!

+1

Du moins de ce que j'ai pu tester.
daroth a écrit :comment rendre ce tirage aléatoire plus équilibré, avec des tirages vraiment aléatoires, même si les tirage sont proches dans le temps?
Tirages équilibrés même si proches dans le temps = incompatible avec la notion de hasard Smile
Pages : 1 2 3 4