Lo que dice lemure_siz es bastante facil y perfectamente viable; la clave está en definir una estructura de datos de fenix con los parametros suficiente (struct); así a botepronto los datos me los invento, pero bueno, es para que te hagas una idea. Pongamos que los enemigos por lo general tienen 4 o 5 parametros cada uno (x,y,vida,comportamiento,tamaño); entonces la estrctura tendría que tener dos parámetros más que el enemigo que mas parámetros tenga; ¿por que? por lo siguiente.
La idea es que el juego lea un archivo con todos los enemigos de la fase y que en ese archivo vayan registros con los campos siguientes: Tipo de enemigo, momento de apareición y los parametros del enemigo.
Luego tendríamos un proceso que sería el encargado de leer la tabla de enemigos y llamarlos (sería un puntazo que ésta estuviese ordenada por orden de aparición para evitar lecturas inneceserais).
Código:
process generador(string archivo_fase);
private
int contador_tiempo;
int contador_enemigo;
begin
loop
contador_tiempo+=1;
while(enemigos[contador_enemigo].tiempo==contador_tiempo)
if(enemigos[contador_enemigo].tipo==1) nave1(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
if(enemigos[contador_enemigo].tipo==2) nave2(enemigos[contador_enemigo].param1,enemigos[contador_enemigo].param2,enemigos[contador_enemigo].param3); end
contador_enemigo+=1;
end
frame;
end
end
También se podría hacer con un switch case en lugar de ifs.
Luego, para el editor yo usaría el propio fenix pero de manera que no me costase mucho hacerlo; por ejemplo, al final de la estructura puedes igualarla a los valores que quieras, ordenadamente
Código:
struct feos[50]
int param1;
int param2;
int param3;
int param4;
end=1,2,3,4,2,3,1,1,7,6,9,3;
esto haría que el primer campo del registro 0 (el primero) de la estructura feos tomase valor 1, el 2º 2, el 3º 3, el 4º 4, el primero del segundo registro 2, el 2º del 2º 3, el 3º del 2º, 1... etc
Luego con hacer un save te quedaría el archivo guardado y lo podrías usar para cargarlo en tu juego.
Parece lioso pero en cuanto lo pillas es facil.
Marcadores