VIB_GRAPH_1.c



// 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();
}