69,369
社区成员
发帖
与我相关
我的任务
分享
#include <graphics.h>
int *bit1='\0',*bit2='\0';
getpic1()
{
int size;
size=imagesize(0,0,20,20);
bit1=(int *)malloc(size);
getimage(0,0,20,20,bit1);
}
getpic2()
{
int size;
size=imagesize(0,0,20,20);
bit2=(int *)malloc(size);
getimage(0,0,20,20,bit2);
}
putBarLine(int x,int y)
{
putimage(x,y,bit2,COPY_PUT);
sleep(1);
putimage(x,y,bit1,COPY_PUT);
}
drawLineBar(int x,int y)
{
bar(x,y,x+20,y+20);
line(x,y,x+20,y);
line(x+20,y,x+20,y+20);
line(x,y+20,x+20,y+20);
line(x,y,x,y+20);
}
drawbound()
{
line(229,89,411,89);
line(411,89,411,391);
line(229,391,411,391);
line(229,89,229,391);
}
main()
{
int gdr,gro,i=0,x,y;
char ch;
detectgraph(&gdr,&gro);
initgraph(&gdr,&gro,"e:\\tc");
getpic1();
setcolor(GREEN);
drawLineBar(0,0);
getpic2();
drawbound();
while(i<20)
{
setfillstyle(1,BLUE);
x=rand()%9*20+230;
drawbound();
y=90;
while(1)
{
if(y+20==390)
{
setfillstyle(1,RED);
drawLineBar(x,y);
break;
}
if(getpixel(x+10,y+30)==RED)
{
setfillstyle(1,RED);
drawLineBar(x,y);
break;
}
if(kbhit()&&x>230&&x+20<410)
{
ch=getch();
switch(ch)
{
case 'a':x-=20;putBarLine(x,y);break;
case 'd':x+=20;putBarLine(x,y);break;
default:break;
}
}
putBarLine(x,y);
y+=20;
}
i++;
}
getch();
closegraph();
}