Buenas! Hace poco abrí un post sobre Animaciones ASCII en C y ya he terminado una para explicarme mejor y hacer algunas preguntas. Mi intención es intentar hacer una especie de juego de Dragon Ball con magias, ataques, bolas universales, etc. utilizando animaciones ASCII. He cogido muchas animaciones de internet y he hecho videos para copiar los movimientos uno a uno en C. Mi duda es si hay formas de hacerlo más facilmente que tener que ir dibujándolo a base de printf.
He intentado simplificarlo a base de printf y haciendo arrays de cadenas para simplificar el tema. Algo así sería el movimiento de acercamiento de los personajes:
char *espacios[27]={" "," "," "," "," "," "," "," ",
" "," "," "," "," ",
" "," "," "," ",
" "," "," "," ",
" "," "," ",
" "," "," "};
char *atras[27]={" "," ",
" "," ",
" "," ",
" "," ",
" "," ",
" "," "," ",
" "," "," "," ",
" "," "," "," "," "," "," ",
" "," "," "};
int i;
for (i=0;i<lejania;i++){
system("cls");
printf ("\n\n\n\n\n\n");
printf ("%i\n",i);
printf ("%s _ o %so _\n",espacios,atras);
printf ("%s / %s\\n",espacios,atras);
printf ("%s/ > %s< \\n\n",espacios,atras);
Sleep(10);
}
Lejania es el valor que le tengo que dar para que se acercen más o menos los muñecos en función del ataque que sea. Por ahora un ejemplo entero de pelea solo tengo una patada hecha que se encuentra en el video. No se si habra formas de hacerlo más fácil porque si no puedo tardar 3 meses en todas las animaciones que tengo pensada hacer.
El juego como es lógico (por lo poco que se en C) estará hecho por turnos. No se si habra alguna forma de hacerlo interactivo y que se pueda luchar sin tener que esperar a turnos, en plan los flash de los muñequitos negros estos que pelean que supongo que conocereis. Supongo que será muy complicado hacerlo de esa manera no? Bueno no me enrollo más, os dejo con el pequeño video y a ver si me dais consejillos. Gracias.
http://www.dailymotion.com/relevance/video/x56bd8_animaciones-ascii-dragon-ball-en-c_videogames
PD: Aunque no se vea en el post, *ataques[] va incrementando el numero de espacios y *atras[] lo va decrementando.