#include iostream.h
#include conio.h
#include graphics.h
#include math.h
#include dos.h
int gd=DETECT,gm;
int xc=50,yc=50,xl,yl;
void earth();
void ufo()
{
int r=10,s=2;
int erx=r*2,ery=erx/5;
static int k=1;
for(int i=0;i<3;i++,k++)
{
setcolor(1);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,15);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,1);
floodfill(xc,yc-6*k,1);
floodfill(xc,yc+6*k,1);
delay(2000);
if(i<2)
{
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
xc*=s,yc*=s,r*=s,erx*=s,ery*=s;
}
}
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
for(int j=0;j<6;j++)
{
yc+=20;
setcolor(1);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,15);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,1);
floodfill(xc,yc-6*k,1);
floodfill(xc,yc+6*k,1);
delay(1000);
if(j<5)
{
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
}
}
}
void backufo()
{
int r=40,s=2;
int erx=r*2,ery=erx/5;
int k=3;
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
// cout<<"\n"<
for(int j=0;j<6;j++)
{
yc-=20;
setcolor(1);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,15);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,1);
floodfill(xc,yc-6*k,1);
floodfill(xc,yc+6*k,1);
delay(1000);
if(j<5)
{
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
}
}
for(int i=0;i<3;i++,k--)
{
setcolor(1);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,15);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,1);
floodfill(xc,yc-6*k,1);
floodfill(xc,yc+6*k,1);
delay(1000);
if(i<2)
{
setcolor(0);
arc(xc,yc,0,180,r);
arc(xc,yc,180,360,r);
setfillstyle(1,0);
fillellipse(xc,yc,erx,ery);
setfillstyle(1,0);
floodfill(xc,yc-6*k,0);
floodfill(xc,yc+6*k,0);
xc/=s,yc/=s,r/=s,erx/=s,ery/=s;
}
}
}
void legs()
{
xl=xc;
yl=yc+40;
setcolor(15);
setlinestyle(0,0,3);
for(int i=1;i<6;i++)
{
line(xl,yl,xl,yl+10*i);
line(xl-30,yl-10,(xl-30)-13*i,(yl-10)+13*i);
line(xl+30,yl-10,(xl+30)+13*i,(yl-10)+13*i);
delay(500);
}
}
void backleg()
{
setcolor(0);
setlinestyle(0,0,3);
line(xl-95,yl+55,xl-30,yl-10);
line(xl+95,yl+55,xl+30,yl-10);
line(xl,yl+60,xl,yl);
}
void earth()
{
setcolor(6);
// ellipse(getmaxx()/2,getmaxy(),0,180,430,75);
setfillstyle(1,6);
line(0,getmaxy()-71,getmaxx(),getmaxy()-71);
floodfill(getmaxx()/2,getmaxy()-10,6);
}
void flash()
{
int poly[8]={xl+30,yl-10,xl+37,yl-20,xl+300,yl+48,xl+200,yl+42};
setcolor(0);
setfillstyle(1,14);
fillpoly(4,poly);
delay(1000);
setfillstyle(1,0);
fillpoly(4,poly);
}
int xe=xl+450;
int ye=yl+405;
void elliens(int c)
{
setcolor(c);
setlinestyle(0,0,1);
ellipse(xe,ye,90,180,20,60);
ellipse(xe+20,ye-60,180,270,20,60);
ellipse(xe+10,ye-60,0,360,9,13);
line(xe-20,ye,xe+20,ye);
setfillstyle(1,c);
floodfill(xe,ye-10,c);
floodfill(xe+10,ye-60,c);
setcolor(c);
setlinestyle(0,0,1);
ellipse(xe+50,ye,90,180,20,60);
ellipse(xe+70,ye-60,180,270,20,60);
ellipse(xe+60,ye-60,0,360,9,13);
line(xe+30,ye,xe+70,ye);
setfillstyle(1,c);
floodfill(xe+50,ye-10,c);
floodfill(xe+60,ye-60,c);
}
void move()
{
for(int k=0;k<25;k++)
{
elliens(0);
xe+=10;
elliens(3);
delay(500);
}
sound(4000);
delay(4000);
nosound();
elliens(0);
}
void rtnelli(int c)
{
setcolor(c);
setlinestyle(0,0,1);
ellipse(xe,ye,0,90,20,60);
ellipse(xe-20,ye-60,270,360,20,60);
ellipse(xe-10,ye-60,0,360,9,13);
line(xe-20,ye,xe+20,ye);
setfillstyle(1,c);
floodfill(xe,ye-10,c);
floodfill(xe-10,ye-60,c);
}
void back()
{
for(int k=0;k<25;k++)
{
rtnelli(0);
xe-=10;
rtnelli(3);
delay(500);
}
}
void main()
{
initgraph(&gd,&gm,"c:/TC/bgi");
cleardevice();
earth();
ufo();
legs();
flash();
move();
back();
flash();
rtnelli(0);
backleg();
backufo();
getch();
}
No comments:
Post a Comment