Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: punker en Julio 26, 2010, 09:13:59 AM

Título: probabilidades [A]
Publicado por: punker en Julio 26, 2010, 09:13:59 AM
weno necesito saber como puedo acer que de cierta probabilidad salga un evento, por ejemplo yo uso esta funcion

switch (choose(1,2,3))
{
case 1:
case 2:
case 3:
}

pero esta solo me da un maximo de 16 y yo lo necesito en miles :(
Título: Re: probabilidades [A]
Publicado por: SP_Christian en Julio 26, 2010, 01:51:33 PM
switch (floor(random(10000))){
...
}

Título: Re: probabilidades [A]
Publicado por: Zeit en Julio 26, 2010, 05:25:42 PM
Hola,

Si quieres que n numeros aleatorios tengan la misma probabilidad, puedes usar algo como esto:

{
var u,i;
u=random(1);
for(i=1;i<=n;i+=1)
    {
    if(u<(i/n))
        {
        <expresiones>
        ...
        break;
        }
    }
}


Si quieres que n numeros aleatorios tengan distintas probabilidades, defines un array f de tama?o n (es decir, con indices de 0 a n-1) de valores entre 0 y 1 que suman 1, y usas algo como esto:

{
var u,F,i;
u=random(1);
F=0;
for(i=0;i<n;i+=1)
    {
    F+=f[i];
    if(u<F)
        {
        <expresiones>
        ...
        break;
        }
    }
}


Saludos!!!
Título: Re: probabilidades [A]
Publicado por: punker en Julio 26, 2010, 09:18:37 PM
muchas gracias ustedes siempre me salvan ;)
Título: Re: probabilidades [A]
Publicado por: luiiz en Julio 27, 2010, 04:56:26 AM
if round(random(100))=1 {}

round()=redondear
random(aleatorio en decimales)

//redondea un numero aletorio en desimales a un numero entero.