hola gente del foro, hace tiempo hice este programito llamado n_zombie, el cual es un jueguito para la consola.
esta escrito en c y hace uso de la libreria ncurses para el manejo de los graficos, por aca el codigo
https://github.com/nasciiboy/ncurses/blob/master/n_zombie/n_zombie.c
para compilar utilizo un
g++ -Wall n_zombie.c -o test -lncurses
y luego un
./test
bueno mas alla del juego, es que mientras buscaba una manera menos engorrosa de mostrar un grafico
utilice una macro de preprosesador para pasar una cadena a un arreglo, la gracia es que dicha cadena puede
pasar cualquier cosa suempre y cuando empiece y termine con comillas
#define CAT( row, cont ) strcpy( &n_zombie[ row ][ 0 ], #cont )
char n_zombie[ 25 ][ 83 ];
CAT( 0," ");
CAT( 1," ");
CAT( 2," ");
CAT( 3," ");
CAT( 4," _| _| _| _| ");
CAT( 5," _|_| _| _|_|_|_| _|_| _|_|_| _|_| _|_|_| _|_| ");
CAT( 6," _| _| _| _| _| _| _| _| _| _| _| _| _|_|_|_| ");
CAT( 7," _| _|_| _| _| _| _| _| _| _| _| _| _| ");
CAT( 8," _| _| _|_|_|_| _|_| _| _| _| _|_|_| _| _|_|_| ");
CAT( 9," ");
CAT(10," ");
CAT(11," , _ _ o ___ ");
CAT(12," /| / o | | | | // (_) ");
CAT(13," |__/ | | | | \__ _ _ _ ");
CAT(14," | \ | |/ |/ / / |/ |/ | ");
CAT(15," | \_/|_/|__/|__/ \___/ | | |_/ ");
CAT(16," ");
CAT(17," ");
CAT(18," ___, _ _ ");
CAT(19," / | | | | | ");
CAT(20," | | | | | | ");
CAT(21," | | |/ |/ ");
CAT(22," \__/\_/|__/|__/ ");
CAT(23," ");
CAT(24," ");
incluso cosas como
" , , "
" / \ "
"((__-^^-,-^^-__))"
" `-_---' `---_-' "
" `--|o` 'o|--' "
" \ ` / "
" ): :( "
" :o_o: "
" "-" "
miren la ultima linea -> " "-" "
raro no?
alguien sabe porque esto funciona?
esta escrito en c y hace uso de la libreria ncurses para el manejo de los graficos, por aca el codigo
https://github.com/nasciiboy/ncurses/blob/master/n_zombie/n_zombie.c
para compilar utilizo un
g++ -Wall n_zombie.c -o test -lncurses
y luego un
./test
bueno mas alla del juego, es que mientras buscaba una manera menos engorrosa de mostrar un grafico
utilice una macro de preprosesador para pasar una cadena a un arreglo, la gracia es que dicha cadena puede
pasar cualquier cosa suempre y cuando empiece y termine con comillas
#define CAT( row, cont ) strcpy( &n_zombie[ row ][ 0 ], #cont )
char n_zombie[ 25 ][ 83 ];
CAT( 0," ");
CAT( 1," ");
CAT( 2," ");
CAT( 3," ");
CAT( 4," _| _| _| _| ");
CAT( 5," _|_| _| _|_|_|_| _|_| _|_|_| _|_| _|_|_| _|_| ");
CAT( 6," _| _| _| _| _| _| _| _| _| _| _| _| _|_|_|_| ");
CAT( 7," _| _|_| _| _| _| _| _| _| _| _| _| _| ");
CAT( 8," _| _| _|_|_|_| _|_| _| _| _| _|_|_| _| _|_|_| ");
CAT( 9," ");
CAT(10," ");
CAT(11," , _ _ o ___ ");
CAT(12," /| / o | | | | // (_) ");
CAT(13," |__/ | | | | \__ _ _ _ ");
CAT(14," | \ | |/ |/ / / |/ |/ | ");
CAT(15," | \_/|_/|__/|__/ \___/ | | |_/ ");
CAT(16," ");
CAT(17," ");
CAT(18," ___, _ _ ");
CAT(19," / | | | | | ");
CAT(20," | | | | | | ");
CAT(21," | | |/ |/ ");
CAT(22," \__/\_/|__/|__/ ");
CAT(23," ");
CAT(24," ");
incluso cosas como
" , , "
" / \ "
"((__-^^-,-^^-__))"
" `-_---' `---_-' "
" `--|o` 'o|--' "
" \ ` / "
" ): :( "
" :o_o: "
" "-" "
miren la ultima linea -> " "-" "
raro no?
alguien sabe porque esto funciona?