我没有TC,没办法画。说一下原理。
画两个圆,表示小球。
半径比k,半径r1,r2,
圆沿两条直线,速度v1,v2
时间步长dt
画圆:
loop:
setcolor(WHITE); // 绘图色
circle(x1, y1, r1);
circle(x2, y2, r2);
停0.05秒
setcolor(BLUE); // 背景色
circle(x1, y1, r1);
circle(x2, y2, r2);
更新x1, y1,x2, y2
goto loop;
画直线用:
line(int x0, int y0, int x1, int y1);
写字用
settextstyle(1, 0, 0);
outtextxy(120, 120, "Very Good");
---------------------------------
#include
#include
#include
int main()
{
int gdirver, gmode;
gdriver=DETETC;
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE); // 设屏幕底色
cleardevice();
画圆:
loop:
setcolor(WHITE); // 绘图色
circle(x1, y1, r1); // 画新圆
circle(x2, y2, r2);
停0.05秒
setcolor(BLUE); // 用背景色涂掉圆
circle(x1, y1, r1);
circle(x2, y2, r2);
更新x1, y1,x2, y2
判断相碰,是碰则 break;
goto loop;
用上面方法画碰后的圆,区别在于
更新x1, y1,x2, y2
getch();
closegraph();
}