#include "graphics.h"
#include "stdlib.h"
#include "conio.h"
#include "dos.h"
#include "stdio.h"
void main(void)
{
int gdriver=DETECT,gmode,errorcode;
int x,y,x1=12;
int buf1[3000],buf2[4000];
initgraph(&gdriver,&gmode,"D:\\TC\\BGI");
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error:%s\n",grapherrormsg(errorcode));
printf("Press any to halt:");
getch();
return;
}
x=getmaxx(); y=getmaxy();
line(0,y/2+72,x,y/2+72);
circle(x/2,y/2,10);
line(x/2,y/2+10,x/2-5,y/2+38);
line(x/2-5,y/2+38,x/2+5,y/2+52);
line(x/2+5,y/2+52,x/2-12,y/2+65);
line(x/2-5,y/2+38,x/2,y/2+54);
line(x/2,y/2+54,x/2-8,y/2+70);
line(x/2-8,y/2+10,x/2-8,y/2+35);
line(x/2,y/2+10,x/2+1,y/2+25);
line(x/2+1,y/2+25,x/2+10,y/2+32);
getimage(x/2-12,y/2-10,x/2+10,y/2+70,buf1);
putimage(x/2-12,y/2-10,buf1,XOR_PUT);
circle(x/2+40,y/2,10);
line(x/2+40,y/2+10,x/2+28,y/2+50);
line(x/2+28,y/2+52,x/2+11,y/2+47);
line(x/2+30,y/2+40,x/2+52,y/2+50);
line(x/2+52,y/2+50,x/2+45,y/2+70);
line(x/2+39,y/2+11,x/2+24,y/2+22);
line(x/2+24,y/2+32,x/2+34,y/2+32);
line(x/2+39,y/2+11,x/2+45,y/2+30);
line(x/2+45,y/2+30,x/2+58,y/2+24);
getimage(x/2+11,y/2-10,x/2+58,y/2+70,buf2);
putimage(x/2+11,y/2-10,buf2,XOR_PUT);
while (!kbhit())
{
sound(200);
if (x1+58<x)
{
putimage(x1-12,y/2-10,buf1,XOR_PUT);
delay(150);
putimage(x1-12,y/2-10,buf1,XOR_PUT);
putimage(x1+11,y/2-10,buf2,XOR_PUT);
delay(150);
putimage(x1+112,y/2-10,buf2,XOR_PUT);
}
else x1=x1+50;
}
nosound();
getch();
closegraph();
}
#include "stdlib.h"
#include "conio.h"
#include "dos.h"
#include "stdio.h"
void main(void)
{
int gdriver=DETECT,gmode,errorcode;
int x,y,x1=12;
int buf1[3000],buf2[4000];
initgraph(&gdriver,&gmode,"D:\\TC\\BGI");
errorcode=graphresult();
if (errorcode!=grOk)
{
printf("Graphics error:%s\n",grapherrormsg(errorcode));
printf("Press any to halt:");
getch();
return;
}
x=getmaxx(); y=getmaxy();
line(0,y/2+72,x,y/2+72);
circle(x/2,y/2,10);
line(x/2,y/2+10,x/2-5,y/2+38);
line(x/2-5,y/2+38,x/2+5,y/2+52);
line(x/2+5,y/2+52,x/2-12,y/2+65);
line(x/2-5,y/2+38,x/2,y/2+54);
line(x/2,y/2+54,x/2-8,y/2+70);
line(x/2-8,y/2+10,x/2-8,y/2+35);
line(x/2,y/2+10,x/2+1,y/2+25);
line(x/2+1,y/2+25,x/2+10,y/2+32);
getimage(x/2-12,y/2-10,x/2+10,y/2+70,buf1);
putimage(x/2-12,y/2-10,buf1,XOR_PUT);
circle(x/2+40,y/2,10);
line(x/2+40,y/2+10,x/2+28,y/2+50);
line(x/2+28,y/2+52,x/2+11,y/2+47);
line(x/2+30,y/2+40,x/2+52,y/2+50);
line(x/2+52,y/2+50,x/2+45,y/2+70);
line(x/2+39,y/2+11,x/2+24,y/2+22);
line(x/2+24,y/2+32,x/2+34,y/2+32);
line(x/2+39,y/2+11,x/2+45,y/2+30);
line(x/2+45,y/2+30,x/2+58,y/2+24);
getimage(x/2+11,y/2-10,x/2+58,y/2+70,buf2);
putimage(x/2+11,y/2-10,buf2,XOR_PUT);
while (!kbhit())
{
sound(200);
if (x1+58<x)
{
putimage(x1-12,y/2-10,buf1,XOR_PUT);
delay(150);
putimage(x1-12,y/2-10,buf1,XOR_PUT);
putimage(x1+11,y/2-10,buf2,XOR_PUT);
delay(150);
putimage(x1+112,y/2-10,buf2,XOR_PUT);
}
else x1=x1+50;
}
nosound();
getch();
closegraph();
}