Autor Tema: Problemas con numeros aleatorios!  (Leído 1472 veces)

Milton884

  • Full Member
  • ***
  • Mensajes: 190
  • Karma: 3
Problemas con numeros aleatorios!
« en: Agosto 21, 2012, 07:48:07 pm »
Hola que tal? Estoy intentando colocar 3 de los Enemigos de mi videojuego, en coordenadas X diferentes, pero se colocan uno encima del otro... y siempre en el mismo lugar, para poder hacerlo aleatorio (cosa que repito no me anduvo, puse)
(en el proceso del enemigo)
...
   rand_seed(time());
    x=rand(50,750);
...


Despues en el modulo principal invoco 3 enemigos:


enemigo();
enemigo();
enemigo();



Y como dije, quedan uno encima del otro, y siempre en la misma coordenada X.. Alguien podria ayudarme?
Agradezco mucho. Saludos !

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5735
  • Karma: 129
    • GECA soft
Re:Problemas con numeros aleatorios!
« Respuesta #1 en: Agosto 21, 2012, 08:33:22 pm »
tienes que iniciar la semilla, que sino el primer valor es siempre el mismo (segun procesador)

Rein (K´)ah Al-Ghul

  • Hero Member
  • *****
  • Mensajes: 657
  • Karma: 8
Re:Problemas con numeros aleatorios!
« Respuesta #2 en: Agosto 21, 2012, 08:50:09 pm »
tienes que iniciar la semilla, que sino el primer valor es siempre el mismo (segun procesador)
ya usa rand_seed...

Citar
Notes  To synchronize rand() on different computers, the function rand_seed() can be used.
Rand() is not a very good function on itself. To counter this, the following rand2() can be used

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5735
  • Karma: 129
    • GECA soft
Re:Problemas con numeros aleatorios!
« Respuesta #3 en: Agosto 21, 2012, 09:26:51 pm »
si es cierto, creo que faltan detalles del proceso enemigo, igual crea los 3 en el proceso principal y le pasa la misma x a los 3 hijos.

SplinterGU

  • Administrator
  • *****
  • Mensajes: 12994
  • Karma: 379
Re:Problemas con numeros aleatorios!
« Respuesta #4 en: Agosto 21, 2012, 09:28:01 pm »
tienes que iniciar la semilla, que sino el primer valor es siempre el mismo (segun procesador)

jajaja, lo hace, esta claro en el texto que puso...

no tienes que reinicializar la semilla dentro del proceso enemigo, sino 1 sola vez en todo el codigo, y cuando arranca el programa.

si lo haces dentro del proceso enemigo, (al usar time() como semilla) estas poniendo la misma semilla para todos los procesos enemigo (dentro del mismo segundo), y por ende, obtienes los mismos valores randoms ya que 3 procesos se ejecutan dentro del mismo segundo sin dudarlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Milton884

  • Full Member
  • ***
  • Mensajes: 190
  • Karma: 3
Re:Problemas con numeros aleatorios!
« Respuesta #5 en: Agosto 21, 2012, 10:00:07 pm »
Entiendo Splinter, se me paso de largo eso, ahora entiendo perfectamente. Te agradezco y a todos los que ayudaron en este post.


Saludos !

SplinterGU

  • Administrator
  • *****
  • Mensajes: 12994
  • Karma: 379
Re:Problemas con numeros aleatorios!
« Respuesta #6 en: Agosto 21, 2012, 10:59:13 pm »
de nada, saludos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2