#include <graphics.h>
#define R 20
int WinMain (void){
initgraph(640,480);
float v1,v2;
v1=5,v2=10;
moveto(R,R);
for(;;){
if(getx()+R>640||getx()-R<0)v1=-v1;
if(gety()+R>480||gety()-R<0)v2=-v2;
moveto(getx()+v1,gety()+v2);
delay(10);
cleardevice();
circle(getx(),gety(),R);
}
getch();
closegraph();
return 0;
}