SOURCE CODE
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
void movingDiwali()
{
int xinc=0,yinc=0;
for(int i=0;i<190;i++)
{
if(xinc>=330)
{
xinc=-xinc;
}
if(yinc>=410)
{
yinc=-yinc;
}
setcolor(rand());
settextstyle(10,0,4);
outtextxy(abs(xinc),abs(yinc),"Happy Diwali");
xinc+=5;
yinc+=5;
delay(60);
cleardevice();
}
}
void concentricCircles()
{
cleardevice();
int x=getmaxx()/2;
int y=getmaxy()/2-30;
for(int i=1,j=0;i<=201,j<11;i+=20,j++)
{
setfillstyle(j,j);
setcolor(WHITE);
circle(x,y,i);
floodfill(x+i-5,y,WHITE);
delay(400);
}
settextstyle(10,HORIZ_DIR,4);
outtextxy(45,395,"Rangoli Wala Tayohaar");
}
void heart()
{
setcolor(RED);
circle(560,215,30);
circle(605,215,30);
setfillstyle(1,RED);
floodfill(560,215,RED);
floodfill(605,215,RED);
floodfill(583,215,RED);
line(583,280,535,230); //left
line(583,280,631,230); //right
floodfill(583,260,RED);
}
void textGoyal()
{
cleardevice();
setcolor(WHITE);
settextstyle(7,HORIZ_DIR,6);
outtextxy(50,150,"From:");
for(int i=0,j=0;j<158||i<170;i++,j++)
{
if(i<170)
{
outtextxy(50,150,"From:");
outtextxy(0+i,200,"Goyal");
delay(20);
if(i<170)
cleardevice();
}
if(j<158)
{
outtextxy(50,150,"From:");
outtextxy(639-j*2,200,"Family");
delay(20);
if(j<157)
cleardevice();
}
}
outtextxy(50,150,"From:");
outtextxy(170,200,"Goyal");
outtextxy(322,200,"Family");
heart();
}
void diwaliText1()
{
setcolor(LIGHTGREEN) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(275,260,"..Happy Diwali..") ;
setcolor(YELLOW) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(275,160,"..Happy Diwali..") ;
setcolor(12) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(275,360,"..Happy Diwali..") ;
}
void displayBoy()
{
setcolor(15);
setfillstyle(SOLID_FILL,BLACK);
circle(140,160,30);
floodfill(120,170,WHITE);
line(135,190,135,200);
line(147,190,147,200);
rectangle(110,200,170,290); //BOY FACE
setfillstyle(11,14);
rectangle(135,200,147,290);
floodfill(142,250,WHITE);
setfillstyle(6,2);
floodfill(123,245,WHITE) ; //REC SIDE COLOR
setfillstyle(6,2);
floodfill(159,260,WHITE) ;
setcolor(15);
line(153,220,153,234);
line(163,220,163,234) ;
setfillstyle(6,14); //pocket
line(153,220,163,220);
line(153,225,163,225);
floodfill(155,221,WHITE);
arc(158,234,180,360,5);
setcolor(15);
circle(130,155,1);
circle(152,155,1);
setfillstyle(9,4);
setcolor(15);
line(123,290,123,350);
line(115,290,115,336);
line(123,350,94,333); //left leg
line(115,336,87,319);
line(94,333,94,350);
line(87,319,87,350);
line(123,350,115,336);
line(94,333,87,319);
line(94,350,87,350);
floodfill(120,320,WHITE);
floodfill(105,334,WHITE);
setfillstyle(9,2);
floodfill(91,335,WHITE);
setfillstyle(9,4);
line(165,290,165,350);
line(157,290,157,336);
line(165,350,136,333);
line(157,336,129,319);
line(136,333,136,350);
line(129,319,129,350); //right leg
line(165,350,157,336);
line(136,333,129,319);
line(136,350,129,350);
floodfill(161,320,WHITE);
floodfill(150,334,WHITE);
setfillstyle(9,2);
floodfill(134,335,WHITE);
arc(130,155,35,160,5); //palak
arc(152,155,35,160,5);
line(140,158,145,170); //nose
line(139,170,145,170);
arc(142,170,0,180,3);
setfillstyle(11,WHITE);
line(170,250,208,285);
line(208,285,170,265); //HANDS
floodfill(175,257,WHITE);
setfillstyle(1,YELLOW);
circle(211,288,5); //FIRE
floodfill(211,288,WHITE);
arc(140,170,190,350,10);
line(137,180,141,184); //mouth
line(145,180,142,185);
setfillstyle(9,7);
line(161,140,174,133);
ellipse(139,151,30,193,36,31); //hairs
line(103,157,110,168);
floodfill(140,125,WHITE);
}
void rangoli()
{
displayBoy();
diwaliText1();
for(int i=0,color=8;i<2200;i++,color++)
{
setcolor(color);
arc(280,80,0+i,120+i,i/30) ; //bigger one
delay(1);
}
for( i=0,color=5;i<1100;i++,color++)
{
setcolor(color);
arc(470,40,0+i,120+i,i/30) ; //right UPPER CORNER
delay(1);
}
for( i=0,color=0;i<1000;i++,color++)
{
setcolor(color);
arc(50,80,0+i,120+i,i/20) ; //left upper corner
delay(1);
}
for(i=0,color=0;i<1300;i++,color++)
{
setcolor(color);
arc(400,150,0+i,120+i,i/40) ; //right middle L
delay(1);
}
for(i=0,color=0;i<1200;i++,color++)
{
setcolor(color);
arc(580,110,0+i,120+i,i/20) ; //right MIDDLE R
delay(1);
}
}
void animationRocket()
{
for(int i=0;i<80;i++)
{
diwaliText1();
displayBoy();
setfillstyle(6,RED);
{
line(207,225-i*4,257,225-i*4);
line(207,225-i*4,232,165-i*4); //rocket head
line(232,165-i*4,257,225-i*4);
floodfill(232,200-i*4,WHITE);
}
setfillstyle(1,WHITE);
{
line(222,226-i*4,222,285-i*4);
line(242,226-i*4,242,305-i*4); //rocket base
line(222,285-i*4,242,285-i*4);
floodfill(240,250-i*4,WHITE);
}
arc(225,288-i*4,228,20,10);
settextstyle(11,VERT_DIR,3);
setcolor(RED);
outtextxy(237,230-i*4,"ROCKET") ;
delay(20);
cleardevice();
}
}
void rocket()
{
setfillstyle(6,RED);
line(207,225,257,225);
line(207,225,232,165); //rocket head
line(232,165,257,225);
floodfill(232,200,WHITE);
setfillstyle(1,WHITE);
line(222,226,222,285);
line(242,226,242,305); //rocket base
line(222,285,242,285);
floodfill(240,250,WHITE);
arc(225,288,228,20,10);
settextstyle(11,VERT_DIR,3);
setcolor(RED);
outtextxy(237,230,"ROCKET") ;
}
void diwaliText()
{
setcolor(LIGHTGREEN) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(245,210,"....Happy Diwali....") ;
delay(1000);
setcolor(YELLOW) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(245,110,"....Happy Diwali....") ;
delay(1000);
setcolor(12) ;
settextstyle(10,HORIZ_DIR,4);
outtextxy(245,310,"....Happy Diwali....") ;
delay(800);
}
void animationBoy()
{
for(int i=0;i<60;i++)
{
setcolor(15);
setfillstyle(SOLID_FILL,BLACK);
circle(20+i*2,160,30);
floodfill(0+i*2,170,WHITE);
line(15+i*2,190,15+i*2,200);
line(27+i*2,190,27+i*2,200);
rectangle(-10+i*2,200,50+i*2,290); //BOY FACE
setfillstyle(11,14);
rectangle(15+i*2,200,27+i*2,290);
floodfill(22+i*2,250,WHITE);
setfillstyle(6,2);
floodfill(3+i*2,245,WHITE) ; //REC SIDE COLOR
setfillstyle(6,2);
floodfill(39+i*2,260,WHITE) ;
setcolor(15);
line(33+i*2,220,33+i*2,234);
line(43+i*2,220,43+i*2,234) ;
setfillstyle(6,14); //pocket
line(33+i*2,220,43+i*2,220);
line(33+i*2,225,43+i*2,225);
floodfill(35+i*2,221,WHITE);
arc(38+i*2,234,180,360,5);
setcolor(15);
circle(10+i*2,155,1);
circle(32+i*2,155,1);
setfillstyle(9,4);
setcolor(15);
line(3+i*2,290,3+i*2,350);
line(-5+i*2,290,-5+i*2,336);
line(3+i*2,350,-26+i*2,333); //left leg
line(-5+i*2,336,-33+i*2,319);
line(-26+i*2,333,-26+i*2,350);
line(-33+i*2,319,-33+i*2,350);
line(3+i*2,350,-5+i*2,336);
line(-26+i*2,333,-33+i*2,319);
line(-26+i*2,350,-33+i*2,350);
floodfill(0+i*2,320,WHITE);
floodfill(-15+i*2,334,WHITE);
setfillstyle(9,2);
floodfill(-29+i*2,335,WHITE);
setfillstyle(9,4);
line(45+i*2,290,45+i*2,350);
line(37+i*2,290,37+i*2,336);
line(45+i*2,350,16+i*2,333);
line(37+i*2,336,9+i*2,319);
line(16+i*2,333,16+i*2,350);
line(9+i*2,319,9+i*2,350); //right leg
line(45+i*2,350,37+i*2,336);
line(16+i*2,333,9+i*2,319);
line(16+i*2,350,9+i*2,350);
floodfill(41+i*2,320*2,WHITE);
floodfill(30+i*2,334,WHITE);
setfillstyle(9,2);
floodfill(14+i*2,335,WHITE);
arc(10+i*2,155,35,160,5); //palak
arc(32+i*2,155,35,160,5);
line(20+i*2,158,25+i*2,170); //nose
line(25+i*2,170,18+i*2,170);
arc(22+i*2,170,0,180,3);
setfillstyle(11,WHITE);
line(50+i*2,250,88+i*2,285);
line(88+i*2,285,50+i*2,265); //HANDS
floodfill(55+i*2,257,WHITE);
setfillstyle(1,YELLOW);
circle(91+i*2,288,5); //FIRE
floodfill(91+i*2,288,WHITE);
arc(20+i*2,170,190,350,10);
line(17+i*2,180,21+i*2,184); //mouth
line(25+i*2,180,22+i*2,185);
setfillstyle(9,7);
line(41+i*2,140,54+i*2,133);
ellipse(19+i*2,151,30,193,36,31); //hairs
line(-17+i*2,157,-10+i*2,168);
floodfill(20+i*2,125,WHITE);
delay(20);
cleardevice();
rocket();
diwaliText1();
}
}
int main()
{
int gd=DETECT;
int gm;
initgraph(&gd,&gm,"tc:\bgi");
char a[20];
int countdown;
printf("ENTER THE TIME LEFT IN SECONDS:-");
scanf("\n%d",&countdown);
for(int i=countdown;i>0;i--)
{
sprintf(a,"Happy Diwali In %d Seconds",i);
settextstyle(7,HORIZ_DIR,4);
outtextxy(80,210,a);
delay(1000);
cleardevice();
}
int color;
/*for( i=0,color=5;i<100;i+=10,color++)
{
settextstyle(10,HORIZ_DIR,4);
setcolor(color);
outtextxy(rand()%400,rand()%400,"Happy Diwali");
delay(700);
cleardevice();
} */
movingDiwali();
diwaliText();
animationBoy();
displayBoy();
delay(50);
animationRocket();
rangoli();
delay(2000);
concentricCircles();
delay(2000);
textGoyal();
getch();
closegraph();
return 0;
}