小球的碰撞 写了一下 但写不下去 麻烦修改一下
目的:掌握动画制作过程的具体应用。 要求:在屏幕上显示三个小球,其中一个是静止的,另外两个在同一水平线上(设备坐标系)。当第一个小球撞击另一个小球后,前者将静止,后者运动。 1.小球运动过程是连续的。 2.小球撞击到屏幕的边界后应能返回(沿发射方向)。 3.任何时刻只有一个小球在运动。 设计说明:本程序中可能使用的函数有:inagesize(),getimage(),putimage(),malloc()等。 注意:getimage()函数只能返回字节数小于64kb的图像区域。 小弟没多少财富了额,在此表示万分感激!零月,这题目就是要用tc写的啊#include <stdio.h>
#include <graphics.h>
int main()
{
int i,j,gdriver,gmode,size;
void *buf;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"d:\\tc2\\bgi");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1,10);
circle(31,200,30);
floodfill(21,200,12);
size=imagesize(0,169,62,231);
buf=malloc(size);
getimage(0,169,62,231,buf);
putimage(305,170,buf,COPY_PUT);
putimage(50 ,170,buf,COPY_PUT);
while(1)
{
for(j=0;j<4;j++)
for(i=0;i<260;i++)
{
if(kbhit()) {closegraph();exit(0);}
switch(j)
{
case 0:
putimage(i,170,buf,COPY_PUT);
break;
case 1:
putimage(321+i,170,buf,COPY_PUT);
break;
case 2:
putimage(581-i,170,buf,COPY_PUT);
break;
case 3:
putimage(180-i,170,buf,COPY_PUT);
break;
}
}
}
}