Imaginemos que tenemos un mapa de juego. Cuando lo imprimimos "tal cual", será de un caracter no se intiende nada.
Y si queremos dibujar de "dos caracteres," habrá que tocatear el codigo mucho. En un juego un caracter es nada interesante, cuando representando un caracter en 2 o mas dimensiones podemos dibujar objetos.
por ejemplo:
$=un tanque en 1 caracter
Pues para dibujar el mapa en 2 dimensiones SIN TOCAR EL MAPA ORIGINAL, diseñamos esta función:
#include <stdio.h>El resultado sería esta imagen.
#include <string.h>
#include <curses.h>
#include <unistd.h>
void Dimension(int x, int y, char caracter, int Dimension);
int main(int argc, char** argv)
{
initscr();
char palabra[5][30]={"#####","#$ #","# b#","#####"};
int i,j;
for (i=0;i<4;i++)
for (j=0;j<strlen(palabra[i]);j++)
Dimension(i,j,palabra[i][j],5);
refresh();
getch();
endwin();
return 0;
}
void Dimension(int x, int y, char caracter, int Dimension){
int i,j;
char tanque[25]={'$','$','$','$','$',
' ','$','$','$',' ',
' ','$','$','$','$',
' ','$','$','$',' ',
'$','$','$','$','$',};
int k=0;
for (i=x*Dimension;i<x*Dimension+Dimension;i++){
for (j=y*Dimension;j<y*Dimension+Dimension;j++){
if (caracter=='$' && Dimension==5)
mvprintw(i+1,j+1,"%c",tanque[k++]);
else mvprintw(i+1,j+1,"%c",caracter);
}
}
}
Para poder compilar tiene que instalar primero Ncurses (Linux) o Pdcurses (Windows).
No hay comentarios:
Publicar un comentario