Modo Grafico Introducción #include <stdio.h> #include<graphics.h> #include<process.h> #include<conio.h> /*CONSTANTES*/ #define NEGRO 0 #define BLANCO 15 #define ARRIBA 12 #define ABAJO 80 #define IZQ 75 #define DER 77 #define ENTER 13 #define Poner_cursor(x,y) Dib_cursor (x,y,BLANCO); #define Borrar_cursor (x,y) Dib_cursor (x,y,NEGRO); #define Tamcurs 5 /*DECLARACION DE FUNCIONES*/ void iniciarModoGrafico (void); void Dib_polilinea (void); void Dib_cursor (int, int, int); int Escoger_punto (int*, int*); int Leer (void); /*FUNCION PRINCIPAL*/ void main (void) { iniciarModoGrafico(); cleardevice(): Dib_polilinea(); restorecrtmode(); } /*INICIAR MODO GRAFICO*/ void iniciarModoGrafico (void) { int adaptador = DETECT, modo, codigo; int grap (&adaptador,&modo, "ubicacion de texto"); if ((codigo=graphresult())!=0) { printf ("%s\n", grapherrormsg(codigo)); exit(1); } /*FUNCION DIBUJAR POLILINEA*/ void Dib_polilinea (void) { int x1,y1,x2,y2,car; x2=getmaxx()/2; y2=getmaxx()/2; car=Escoger_punto(&x2,&y2); while (car==ENTER) { x1=x2; y1=y2; car=Escoger_punto(&x2,&y2) if (car==ENTER) line (x1`,y1,x2,y2) } } /*FUNCION DIBUJAR CURSOR*/ Página 1 Modo Grafico Introducción void Dib_cursos (intx,inty,int color) { int Col_ant; Col_ant=getcolor(); Setcolor(color); line(x-Tamcurs,y,x+Tamcurs,y); linte(x,y-Tamcurs,x,y+Tamcurs); Setcolor(Col_ant); } /*FUNCION ESCOGER PUNTO*/ int Escoger_punto (int *x, int *y) { int c,dx,dy; Poner_cursor(*x,*y); for (;;) { dx=dy=0; switch (c=leer()) { case ARRIBA: dy--;break; case ABAJO : dy++;break; case IZQ : dx--;break; case DER : dx++;break; default: return (c); } Borrar_cursor (*x,*y); *x+=dx; *y+=dy; Poner_cursor(*x,*y); } } /*FUNCIO LEER*/ int Leer (void) { int tecla; while ((tecla=getch())!=0) if (tecla == ENTER) return (tecla); return(getch()); } Página 2