Problema: misma secuencia de valores RAND en la WiZ

Started by simulatorone, May 03, 2010, 07:08:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

simulatorone

Hola

Me di cuenta hace poco, con un logotipo que estoy programando, que usa variables tipo Rand(aleatorias).
En el PC funciona bien, siempre a la zar!
pero en la Wiz, siempre me da la misma secuencia de variables, y siempre me aparece la misma manera,

Por que?
dicen que hay una semilla de varialbe Rand, pero yo creia que siempre es a la zar, la coge de la fecha real del PC.
Y el de la WiZ deveria tambien.
Super SMASH KeI (Wiz-PC)-V:0.05- Adaptacion a 16bits :)
PUSH (Wiz-PC)-V:0.83b- Multijugador! :)

FreeYourMind

Buenas, tu problema ya lo he comentado hace tiempo por aqui (lo mejor antes de cualquier duda es buscarlo por los foros para ver si ya existe algo al respeto).

http://forum.bennugd.org/index.php?topic=849.0

Esto es debido al procesador de la Wiz que reaciona de forma distinta en sus calculos, sólo tienes que utilizar la semilla al inicio de tu programa para resolver el problema, con la semilla time() por ejemplo....

simulatorone

Super SMASH KeI (Wiz-PC)-V:0.05- Adaptacion a 16bits :)
PUSH (Wiz-PC)-V:0.83b- Multijugador! :)

Windgate

Quote from: simulatorone on May 03, 2010, 08:53:45 AM
okis

asi?
RAND_SEED( time() );
lo probare :)

Eso es, necesitarás tener mod_rand y mod_time importados.

Cuidado con esa solución, es la perfecta, pero al basar la serie en la fecha del sistema, que es un número sucesivo, en ejecuciones muy próximas el primer valor también se modifica de forma sucesiva.

Por eso la solución perfecta es la que propones añadiendo:

rand ( 0 , 999 );

Para generar un primer número aleatorio e ignorarlo.

Esa SÍ es la solución pro :D
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

SplinterGU

es que no vas a conseguir nunca que vaya "a la zar", quizas puedas conseguir que vaya "al azar"... :D

usa rand_seed(time());

si el reloj de la wiz te funciona deberia ir bien.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

simulatorone

Super SMASH KeI (Wiz-PC)-V:0.05- Adaptacion a 16bits :)
PUSH (Wiz-PC)-V:0.83b- Multijugador! :)