Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Goku jr on January 11, 2016, 12:12:11 PM

Title: Eventos..en mi minijuego
Post by: Goku jr on January 11, 2016, 12:12:11 PM
Buenas de nuevo!
a ver si me podeis hechar una mano  :P
Resulta que estoi intentado hacer un minijuego que cada vez que se cumplan unas condiciones suceda un evento distinto,como por ejemplo aparezcan otros tipos de enemigos,que cambie el fondo de pantalla etc..
y no doy con la solucion, y seguro que es facil,pero no soy capaz :-\


por ejemplo:
tengo un proceso que es el nivel1,tal como esto :



process nivel1();
begin
put_screen(gfx,1);
from num=0 to 2;
enemigo(x,y);
end
loop
frame;
end
end



Pues bien,quiero que cuando se llegue a ciertos puntos por ejemplo 200 puntos,me salgan otros enemigos y cambien el fondo.
lo he intentado con SWITCH,con WHILE..etc,pero no lo consigo.
tal como asi




process nivel1();
begin
put_screen(gfx,1);
from num=0 to 2;
enemigo(x,y);
end
SWITCH (PUNTOS)
   case 200 :
   clear_screen();
   put_screen(gfx,2);
   from num2=0 to 2;
   enemigo2(x,y);
    end
end
loop
frame;
end
end



Pero no consigo nada..una ayudita me vendria bien,mil gracias :D
Title: Re:Eventos..en mi minijuego
Post by: Drumpi on January 11, 2016, 07:14:47 PM
Supongo que el switch te lanzará una marea de enemigos infinita... o al menos, hasta que subas los puntos :D
Mi recomendación es que sigas usando el switch, pero necesitas una variable que podríamos llamar "puntos_anteriores", que sólo se actualiza después del switch. Y ya sólo te queda meter el switch en un if que diga "if (puntos != puntos_anteriores)".
Ejemplo:

process nivel1()
private
int puntos_anteriores;
begin
put_screen(gfx,1);
from num=0 to 2;
enemigo(x,y);
end

loop
if (puntos_anteriores != puntos)
SWITCH (PUNTOS)
   case 200 :
   clear_screen();
   put_screen(gfx,2);
   from num2=0 to 2;
   enemigo2(x,y);
    end
end

puntos_anteriores = puntos;
end //if

frame;
end
end


El problema es que los puntos no pasen por los valores exactos que has marcado (o sea, que tengas 195 puntos y puedas sumar 5 o 10 puntos según el enemigo eliminado. En ese caso, necesitas una variable que indique que al superarse se aumente un nivel de dificultad (otra variable), y que uses esa variable de dificultad en el switch cada vez que cambie.[/code]
Title: Re:Eventos..en mi minijuego
Post by: Goku jr on January 11, 2016, 07:54:41 PM
Muchas gracias drumpi,luego lo probaré.
Ha de ir verdad,el codigo que he puesto en mi post,no es el que tengo,este me lo he inventado al vuelo.realmente cuando en mi juego ponia switch no pasaba nada,lo ignoraba,los procesos que pongo desde el inicio perfecto,pero los switch,whiles y tal.. Se los pasaba por el forro xd

Gracias de nuevo
Saludos
Title: Re:Eventos..en mi minijuego
Post by: Goku jr on January 11, 2016, 10:45:44 PM
Drumpi
Funciona perfecto!


mil gracias! y karma!
Title: Re:Eventos..en mi minijuego
Post by: Drumpi on January 12, 2016, 01:59:11 AM
Me he dado cuenta cuando he escrito mi código: te habías dejado el switch fuera del loop, y sólo te lo comprobaba una vez.
Con Unity vale, pero ESTO ES DIIIV!!! (patada y mandamos al mensajero al fondo del hoyo) haUUUUHHH!!!! :D :D :D