Tuesday, 10 June 2014

Bouncing Ball

// BOUNCING BALL

// SAVE PROGRAM WITH EXTENSION  .CPP  OR DECLARE ALL VARIABLES
//  AT THE BEGIN OF MAIN FUNCTION

#include<graphics.h>
#include<dos.h>
#include<conio.h>
#include<process.h>

void main()
{
int gd=DETECT, gm;
initgraph(&gd, &gm, "c:\\turboc3\\bgi");

int bounce = 0;

int x = getmaxx();
int y = getmaxy();

int mytime = 0;

setbkcolor(WHITE);
setcolor(RED);
setfillstyle(SOLID_FILL, RED);

int x_pt=25, y_pt=y/2, rad=25;

// FLAGS TO INCREAS OR DECREAS POINTS AND CHANGE // DIRECTION
int flag_x = 0, flag_y = 0;

while(1)
{
clearviewport();
fillellipse(x_pt, y_pt, rad, rad);

// CHECK BOUNDRY VALUCE AND CHANGE DIRECTION
if(x_pt >= x || y_pt >= y || x_pt <= rad || y_pt <= rad)
{
if(x_pt >= x)
{
flag_x = 1;
x_pt--;// = x_pt - 3;
}

if(x_pt <= rad)
{
flag_x = 0;
x_pt++;// = x_pt + 3;
}

if(y_pt >= y)
{
flag_y = 1;
y_pt--;// = y_pt - 3;
}

if(y_pt <= rad)
{
flag_y = 0;
y_pt++;// = y_pt + 3;
}
bounce++;
}
else
{
if(flag_x == 0)
{
x_pt = x_pt + 3;
}
else
{
x_pt = x_pt - 3;
}

if(flag_y == 0)
{
y_pt = y_pt + 3;
}
else
{
y_pt = y_pt - 3;
}
}
delay(10);
mytime = mytime + 10;

//     TIME
if(mytime >= 6000)
{
exit(0);
}
}
}

No comments:

Post a Comment