Comunidad Game Maker

Ayuda => Desarrollo de Scripts => Mensaje iniciado por: Alfonsos1 en Abril 10, 2010, 02:45:59 AM

Título: redondear_azar
Publicado por: Alfonsos1 en Abril 10, 2010, 02:45:59 AM
Nombre del creador: Alfonsos1

Breve descripci?n de su funci?n: Redondea el n?mero que se le de por argumento hacia arriba o hacia abajo. El porcentaje posibilidades de que el n?mero se redondee hacia arriba, es igual a los decimales del numero multiplicados por 100.

Ejemplo:
redondear_azar(3,574);
Tiene 57,4% de prob. de devolver 4 y 42,6% de prob. de devolver 3.

Versi?n GM utilizada: :GM8:

C?digo del Script:
if(argument0-floor(argument0)>random(1)) return ceil(argument0);
else return floor(argument0);


La ventaja de este tipo de redondeo:

floor(1.00) es lo mismo que floor(1.99)
ceil(0.01) es lo mismo que ceil(1.00)
round(0.51) es lo mismo que round(1.49)
redondear_azar(1) no es lo mismo que redondear_azar(1.01)

si se hace un promedio de varios redondear_azar(X), el numero obtenido tendera a X
Título: Re: redondear_azar
Publicado por: haroichi en Abril 11, 2010, 01:27:44 AM
oohhh esta muy buena y sencilla, creo que me sera muy util, buen trabajo  :D