Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





gnu rocks! - n_zombie

Iniciado por pobreotaku, 12 de Abril de 2015, 08:46:54 AM

« anterior - próximo »

pobreotaku

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?






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.