| random | |
|
|
Auteur | Message |
---|
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: random Sam 22 Mar 2014 - 2:06 | |
| Est ce qu'il n'y aurait pas un problème avec le random de GM ? Je calcul une valeur aléatoire comprise entre par exemple -100 et 100 donc random(200)-100 La valeur obtenu se rajoute à une variable. Je lance le calcul avec une touche et je m’aperçois que si je spam la touche, la variable qui comptabilise les résultats finie toujours par descendre de plus en plus car il ya plus de valeurs négatives que positives. Ce qui est étrange c'est que j'ai calculé en pourcentage la même chose dans une boucle for avec 100000 itérations Et je varie toujours entre 49 à 50 % que ce soit pour les résultats positif ou négatif. Donc dans une boucle il ne semble pas y avoir ce problème... est ce que ça viendrait du fait que les tests random se passent dans la même frame ? Du coup je ne comprend pas trop comment sont calculés ces valeurs aléatoire, est ce qu'il y aurait un rapport avec le temps ou la frame en cours ? Par ce que j'ai un ratio plus équilibré si je spam pas la touche et que j’attends quelques secondes entre chaque tests... _________________ - Spoiler:
|
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: random Sam 22 Mar 2014 - 8:29 | |
| C'est bizarre ca... Oo T'es sur que ia pas une connerie au niveau de ton code ? Parce que je vois pas trop ce que t'appelle spammer une touche, à ma connaissance tu peux appuyer qu'une seule fois sur la même touche par step, donc ca expliquerait pas cette histoire de plusieurs random par frame... :/ _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: random Sam 22 Mar 2014 - 9:05 | |
| et random_range(-100,100)? _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: random Sam 22 Mar 2014 - 10:35 | |
| Le random est fonction de l'heure de l'OS. |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: random Sam 22 Mar 2014 - 10:41 | |
| Ouais mais ca a rien à voir là je pense... :/ En plus je viens de capter, si avec une boucle for ca marche, bah c'est pas un problème de frame, puisque toute la boucle est exécutée dans le même step. A mon avis c'est qu'il y a une ******* quelque part dans ton code _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: random Sam 22 Mar 2014 - 11:04 | |
| "à ma connaissance tu peux appuyer qu'une seule fois sur la même touche par step, "
Oui bien sûr. Je veux dire que j’appuie rapidement sur la touche. Soundii c'est pareil mais rien d’étonnant c'est plus ou moins la même fonction.
"Le random est fonction de l'heure de l'OS." Ca pourrait expliquer cette différence entre mes tests manuel ou avec la boucle.
"Ouais mais ca a rien à voir là je pense... :/ En plus je viens de capter, si avec une boucle for ca marche, bah c'est pas un problème de frame, puisque toute la boucle est exécutée dans le même step. A mon avis c'est qu'il y a une ******* quelque part dans ton code"
Oui justement c'est pour ça que je parlais de frame ou de temps c'est par ce que la seul chose qui différencie mes tests manuel de la boucle c'est que les calculs de la boucle sont exécuté dans le même step.
Mon code est tout simple:
if keyboard_check_pressed(vk_enter) { test=random(mise*2)-mise argent+=test } _________________ - Spoiler:
Dernière édition par chopsuey le Sam 22 Mar 2014 - 11:11, édité 2 fois |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: random Sam 22 Mar 2014 - 11:09 | |
| - Chlorodatafile a écrit:
- Le random est fonction de l'heure de l'OS.
Complètement faux. Le random est fonction de la seed, et à chaque appel de random la seed est modifiée en fonction de la seed précédente. Le seul moment ou l'horloge est prise en compte est pour l'initialisation de la seed, donc a part s'il appelle a chaque fois cette fonction (ce qui n'est absolument pas une bonne idée) le soucis ne viens pas de la. |
|
| |
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: random Sam 22 Mar 2014 - 11:59 | |
| Si la seed est l'heure de l'OS au lancement, alors c'est fonction de l'heure malgré tout. Enfin bon, j'avoue que je ne savais pu exactement de quel manière il en dépendait. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: random Sam 22 Mar 2014 - 19:16 | |
| Oui enfin dans pas mal de jeux (avec génération procédurale) on préfère choisir une seed déterminée, et je crois que GMS utilise une seed constante pour simplifier le debug, donc on a rarement un soucis avec l'horloge :p
En revanche pour la 'précision' de random ça dépend de l'algo utilisé par GM, et je sais pas du tout comment savoir duquel il s'agit... |
|
| |
Contenu sponsorisé
| Sujet: Re: random | |
| |
|
| |
| random | |
|