// JUEGO DE LA VIBORILLA VERSION 1 ... CONTROL DE LA VENTANA // int initwindow(int width, int height, const char* title="Windows BGI", int left=0, int top=0, bool dbflag=false, closeflag=true); // LIGA OK ===>>> http://docs.mis-algoritmos.com/c.ref.graphics.h.html #include<graphics.h> #include <stdio.h> int gdriver = DETECT, gmodo, modo_max; int XMAX, YMAX, Grosor=10; // XMAX(ancho en pixeles), YMAX(alto en pixeles), Grosor del borde int Xi, Yi, Xf, Yf; // lImites internos void Inicia( ) { char Tecla=' '; int x, y, N=1000; int INC = 10; x = (Xf - Xi)/2; y = (Yf - Yi)/2; //cleardevice(); while ( N > 0 ) { setcolor(YELLOW); fillellipse(x, y, 5, 5); /* //Tecla=getchar(); Tecla=getchar(); Tecla=getchar(); Dir = rand( ) % 5; Tecla = Dir + 64; printf("T=%d\tX=%d\tY=%d\n",Tecla,x,y); if (Tecla == 65) { y=y-10; if ( !y ) y=0; } // arriba if (Tecla == 66) { y=y+10; if ( y>getmaxy( ) ) y=getmaxy( ); } // abajo if (Tecla == 67) { x=x+10; if ( x>getmaxx( ) ) x=getmaxx( ); } // derecha if (Tecla == 68) { x=x-10; if ( !x ) x=0; } // izquierda */ delay(10); setcolor(BLACK); fillellipse(x, y, 5, 5); // Borra la pelotita (dibujarla del color de fondo) x += INC; if (x+20 >= Xf) INC = -5; if (x-10 <= Xi) INC = 5; N--; } } void Borde() { int color = 1, fill = 1; Xi = Yi = 10 + Grosor; Xf = XMAX - 10 - Grosor; Yf = YMAX - 10 - Grosor; bar(10, 10, Xf, Yi); bar(Xf, 10, Xf+Grosor, Yf); bar(10, Yf, Xf+Grosor, Yf+Grosor); bar(10, 10, Xi, YMAX-Grosor); } void ModoGrafico() { initgraph(&gdriver, &gmodo, NULL ); // gmodo = 2 modo_max = getmaxmode(); // modo_max = 6 (eso detectO en mi portAtil) setgraphmode( modo_max ); XMAX = getmaxx(); YMAX = getmaxy(); } void ModoTexto() { getch(); closegraph(); } int main() { ModoGrafico(); Borde(); Inicia(); ModoTexto(); }