教师心理培训讲座课件:一个C作图有问题吗??

来源:百度文库 编辑:神马品牌网 时间:2024/05/06 02:53:46
这是一个常见的C作图,两球相碰
#include<malloc.h>
#include<stdio.h>
#include<graphics.h>
int main()
{
int i, gdriver, gmode, size;
void *buf;
gdriver=DETECT;
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1, 10);
circle(100, 200, 30);
floodfill(100, 200, 12);
getch();
size=imagesize(69, 169, 131, 231);
buf=malloc(size);
if(!buf) return -1;
getimage(69, 169, 131, 231,buf);
cleardevice();
putimage(500, 269, buf, COPY_PUT);
do {
for(i=0; i<185; i++){
putimage(70+i, 170, buf, COPY_PUT);
putimage(500-i, 170, buf, COPY_PUT);
}
for(i=0;i<185; i++){
putimage(255-i, 170, buf, COPY_PUT);
putimage(315+i, 170, buf, COPY_PUT);

}
}while(!kbhit());
getch();
closegraph();
}
这是一个常见的C作图,两球相碰,可是为什么在两个 for 循环没有延时,却能出现两球相碰??我的系统是XP的,delay() 好像不能起作用,不会延时。为什么??? 我是刚学的菜鸟,9999999999999999999999999999999999999999999999999
有时不时不用delay()不行啊~ 为什么这个可以???

用delay函数来控制作一下吧。
delay(毫秒);
放在两球相撞操作之间吧。
两个for putimage 之间就可以了。