PDA

Ver la versión completa : darle valor aleatorio a una variable...



zark
18/04/2005, 17:55
hola,
estoy haciendo un juego sobre un especie de comecocos que disparan i ponen bombas. (la idea esta registrada xD)
i el problema es que ahora estoy haciendo la euristica, pero como es demaciado complicado he pensado que podria hacer un numero aleatorio entre 1 i 24, i que cada numero fuese una accion.
he echo eso de if (rando(1,24..... pero no se darle el valor a una variable

La pregunta es como puedo dar el valor de un numero aleatorio a una variable???o otra forma de hacer que un obre se mueva por la pantalla aleatoria mente disparando balas de idrocarburosodico???

porfavor contestatme rapido que man'ana me voy de casa drante 2 dias i quiero tener esta parte del juego terminada hoy


///////
tengo 3 juegos pensados, un mas bueno quel otro, pero no tengo tiempo!!!!!!!

Hokutoy
18/04/2005, 18:15
Tengo el Fenix un poco oxidao (demasiada psp) pero debería ser algo así

x=rand(1,4);

explicacion: x tiene un valor aleatorio entre 1 y 4.

Despues pones todo lo de:
If(x==1) pones bombas
if(x==2) disparas
if(x==3) lo que sea
etc etc etc...

PD: Que alguien me corriga si eso.

er_fran
18/04/2005, 18:16
creo q era asi,hace años q no programo:
if (a=random(1,24)) siendo "a" una variable

zark
18/04/2005, 19:57
gracias,
el juego me va de pu.ta madre. pero solo hay un problema...
es que mi enemigo se mueve demaciado rapido, sabeis como puedo hacer que mi enemigo se mueva cada un par de framers???

nazca
18/04/2005, 20:27
Pues podrias hacerlo así:
En el proceso del enemigo defines una variable local, por ejemplo "wc_var" y le das valor 0. Inmediatamente después del frame; le sumas 1 a wc_var, y dentro del bucle principal del proceso creas un if que haga que cada vez que wc_var sea igual a 2 el enemigo se mueva. Dentro del mismo if "reseteas" el valor de wc_var a 0.




Process enemigo(...);
[...]

Local

wc_var=0;

[...]

Loop

[...]

If(wc_var==2) [código de movimiento del enemigo]; wc_var=0;end

Frame;

wc_var++;

Segata Sanshiro
18/04/2005, 23:47
Despues pones todo lo de:
If(x==1) pones bombas
if(x==2) disparas
if(x==3) lo que sea
etc etc etc...

PD: Que alguien me corriga si eso.

Bestia!!! Qué bruto eressss!!!! xDDD Es broma. Es que hay una forma mucho más limpía de hacer eso, con switch :D:D:D Por cierto, "x" no se puede usar como variable, es la coordenada horizontal del proceso, aunque ya se ve que lo has puesto como ejemplo. Usando "a" como variable aleatoria:



switch(a);
case 1:
//...
end
case 2:
//...
end
//...
end

Hokutoy
19/04/2005, 12:28
Lol pues vas a llevar razón! :musico:
Es que ultimamente toy muy vago... tengo algun juego guapo a medias... a ver si llega el veranito y los acabo.

Segata Sanshiro
19/04/2005, 19:00
Lol pues vas a llevar razón! :musico:
Es que ultimamente toy muy vago... tengo algun juego guapo a medias... a ver si llega el veranito y los acabo.

Más te vale xD Después del Street Fighter Pong ya se ve que no eres como yo, vamos, que además de empezar proyectos los acabas xD