Monday, June 15, 2009

Computer Graphics - Moving Ball

Posted by Sarjukottapuram

/**** Author:Sarju


www.sarjus-elearning.blogspot.com****/

# include

# include

# include

# include



int x,y,maxx,maxy,i,j;



int main(void)

{

int gdriver = DETECT, gmode;

void *image;

unsigned int size;

char ch;

void fillBox(int,int);

int Row,Col;



// Initialize graphics drivers and mode.

initgraph(&gdriver,&gmode,"c:\\tc\\bgi");



// Draw a rectangle

// rectangle(x1,y1,x2,y2)

maxx=getmaxx(); // x2

maxy=getmaxy(); // y2

rectangle(10,10,maxx-10,maxy-10);



// Puts Pixel in the Rectangle.

fillBox(maxx,maxy);

x=y=70;

// Draw Circle and FillColor

setfillstyle(1,14);

circle(x,y,20);

floodfill(x,y,15);



// Creating the Image

size = imagesize(x,y,x+20,y+20);

image=malloc(size);

getimage(x-20,y-20,x+20,y+20,image);

x-=20;

y-=20;

// Will Displays till Any key is hit !!!...

while(!kbhit())

{

Row = x; Col = y;

putimage(x,y,image,XOR_PUT); // clears the Image from Screen

//x=random(maxx-70);

//y=random(maxy-70);

//fillBox(maxx,maxy);

x=x+10;

/* if(x<50)

x=50;

if(y<50)

y=50;*/

putimage(x,y,image,OR_PUT); // Puts the image on screen.

delay(50); // Waits for few Seconds.

if(x>540)

{

putimage(x,y,image,XOR_PUT);

Row = x; Col = y;

for(i=0;i<540;i++)

{

x=random(maxx-10);

y=random(maxy-10);

if(x>10 && y>10)

putpixel(x,y,14);

}

//putpixel(x,y,14);

x= Row;

y=Col;

x=10;

y=y+20;

putimage(x,y,image,XOR_PUT);

}

if(y>410)

{

putimage(x,y,image,XOR_PUT);

Row = x; Col = y;

fillBox(maxx,maxy);

x= Row;

y=Col;

x=10;

y=30;

putimage(x,y,image,XOR_PUT);

}

}

free(image); //Removes the image from the Screen.

closegraph(); // Closes the Graphics Mode.

return(0);

}



void fillBox(int maxx,int maxy)

{

cleardevice(); // Clears the Graphics Screen

maxx=getmaxx(); // x2

maxy=getmaxy(); // y2

rectangle(10,10,maxx-10,maxy-10);

for(i=0;i<8000;i++)

{

x=random(maxx-10);

y=random(maxy-10);

if(x>10 && y>10)

putpixel(x,y,14);

}

}

0 comments:

Post a Comment