#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
#include<dos.h>
#include<process.h>
int maxx=getmaxx();
int maxy=getmaxy();
void star(float x, float y , float a,int bcolor,int color)
{ setcolor(bcolor);
setfillstyle(1,color) ;
int str[]={x-a,y-a,x-6*a,y,x-a,y+a,x,y+6*a,x+a,y+a,x+6*a,y,x+a,y-a,x,y-6*a,x-a,y-a};
drawpoly(9,str);
fillpoly(9,str);
}
/*******************************************************************/
void stand()
{ //stand_red
setcolor(YELLOW);
int poly[]= {100,100,140,100,120,130,80,130,100,100};
setfillstyle(1,RED);
drawpoly(5,poly); //stand
fillpoly(5,poly);
//slope
int poly2[]={80,130,30,255,70,255,120,130,80,130};
setfillstyle(1,RED);
drawpoly(5,poly2);
fillpoly(5,poly2);
//lader
setcolor(15);
line(100,230,140,230);
line(100,220,140,220);
line(100,210,140,210);
line(100,200,140,200);
line(100,190,140,190);
line(100,180,140,180);
line(100,170,140,170);
line(110,160,140,160);
line(110,150,140,150);
line(115,140,140,140);
line(120,130,140,130);
line(128,120,140,120);
setcolor(15);
ellipse(94,120,60,200,15,24); //handle arcs
ellipse(134,120,60,200,15,24);
line(80,123,28,253);//slope_line1
line(120,123,68,253);
//vertical pole
line(140,100,140,240); //vertical
line(120,130,120,246); //vertical
line(100,240,100,180); //vertical behind
line(80,230,80,246); //vertical behind2
//base joit_lines
line(100,240,140,240);
line(120,246,80,246);
line(140,240,120,246);
line(100,240,80,246);
}
void movobjects()
{
//ground color
setfillstyle(1,GREEN);
int gc[]={0,160,68,160,30,255,70,255,108,160,224,160,224,171,219,186,319,186,324,171,324,160,getmaxx(),160,getmaxx(),getmaxy()-160,0,getmaxy()-160,0,160};
drawpoly(15,gc) ;
fillpoly(15,gc) ;
//table
setcolor(15);
setfillstyle(2,13);
//line(225,150,325,150);
// line(325,150,325,170);
//line(225,170,225,150);
bar(225,150,325,170);
setcolor(RED);
line(325,170,225,170);
int bench2[]={225,170,325,170,320,185,220,185,225,170};
// table foot
line(325,170,325,188);
line(320,185,320,195);
line(220,185,220,195);
line(225,185,225,188);
setfillstyle(1,7);
drawpoly(5,bench2);
fillpoly(5,bench2);
setcolor(GREEN);
bar(0,getmaxy()-30,getmaxx(),getmaxy()); //green ground below
//sky color
setcolor(BLACK);
int scl[]={60,160,68,160,80,130,100,100,140,100,140,0,60,0,60,160};
int scr[]={getmaxx()/2+35,160,getmaxx(),160,getmaxx(),0,getmaxx()/2+35,0,getmaxx()/2+35,160};
setfillstyle(1,16);
fillpoly(8,scl) ;
fillpoly(5,scr);
//road_horizontal
setfillstyle(1,BLACK);
bar(0,getmaxy()-160,getmaxx(),getmaxy()-30);
int n=0;
while(n<600) //this loop is used to produce dashed line
{ n=n+10;
setcolor(WHITE);
line(n,getmaxy()-95,20+n,getmaxy()-95);
setcolor(BLACK);
line(n+5,getmaxy()-95,15+n,getmaxy()-95);
}
}
void objects()
{ int stx[50],sty[50];
for(int sr=0;sr<=100;sr++)
{
stx[sr]=rand()%500;
sty[sr]=rand()%150;
star(stx[sr],sty[sr],0.17,14,14) ;
}
//trees
setfillstyle(1,GREEN);
int p4[]={150,120,175,70,200,120,150,120}; //tree 1
drawpoly(4,p4);
fillpoly(4,p4);
setfillstyle(1,GREEN);
int p3[]={150,70,175,20,200,70,150,70};
drawpoly(4,p3);
fillpoly(4,p3);
line(175,120,175,160);
//tree lower
setfillstyle(1,GREEN);
int p6[]={250,120,275,70,300,120,250,120}; //tree 2
drawpoly(4,p6);
fillpoly(4,p6);
//upper part of tree
setfillstyle(1,GREEN);
int p5[]={250,70,275,20,300,70,250,70};
drawpoly(4,p5);
fillpoly(4,p5);
line(275,120,275,152);
setcolor(15);
//MOON
setcolor(15);
setfillstyle(1,15) ;
circle(30,30,15);
floodfill(30,30,15);
setcolor(16);
setfillstyle(1,16);
circle(30,20,15);
floodfill(30,30,16);
setcolor(15);
//boy_up
circle(120,70,8);
line(120,78,115,100);
line(120,78,125,100);
line(120,78,130,83);//hnd1
line(120,78,110,83);
//boy1_ground
circle(160,217,5);//head
line(160,235,160,222);//back
line(160,235,155,245);//leg
line(160,235,165,245); //leg
line(160,222,153,231); //hnd
line(160,222,167,231);
//Giant wheel stoped
int i=0,P,Q,j,k,l;
float co1,si1,co2,si2,si3,co3,co4,si4,pi=3.14/180;
//Round wheel
setcolor(BLACK);
//wheel_stand
P=500;Q=125 ;
line(P,Q,450,260);
line(550,260,P,Q);
//charakha
//inner circle lines
setcolor(RED);
line(P-50,Q,P+50,Q);//inner circle line start angle=i=0
//when i=0;line(P,Q,P+50,Q+0)
line(P-50*cos(45*pi),Q-50*sin(45*pi),P+50*cos(45*pi),Q+50*sin(45*pi));
line(P-50*cos(90*pi),Q-50*sin(90*pi),P+50*cos(90*pi),Q+50*sin(90*pi));
line(P-50*cos(135*pi),Q-50*sin(135*pi),P+50*cos(135*pi),Q+50*sin(135*pi));
circle(P,Q,50);
circle(P,Q,10);
circle(P,Q,120);
circle(P,Q,118);
setcolor(BLACK);
setfillstyle(1,YELLOW);
/***************************************************************
****************************************************************
To give the gravitational effect to boxes we are moving them in a
diferent circcular path center (P,Q+15)*/
//box 1
setcolor(14);
line(P+120,Q,P+120,(Q+15)); //hanger
circle(P+119,Q,2); //joint
bar((P-15)+120,(Q+15)+4,(P+15)+120,(Q+15)+20);
rectangle((P-15)+120,(Q+15),(P+15)+120,(Q+15)+20);
setcolor(15);
circle(P-7+120,(Q+15)-6,2); //man_seating in box
line(P-7+120,(Q+15)-4,P-7+120,(Q+15)+3);//body
line(P-7+120,(Q+15)-4,P-12+120,(Q+15)-6); //hand
line(P-7+120,(Q+15)-4,P-2+120,(Q+15)-6);//hand
//box1 opp
setcolor(14);
line(P-120,Q,P-120,(Q+15));
circle(P-119,Q,2); //joint
rectangle((P-15)-120,(Q+15),(P+15)-120,(Q+15)+20);
bar((P-15)-120,(Q+15)+4,(P+15)-120,(Q+15)+20);
setcolor(15);
circle(P-7-120,(Q+15)-6,2); //man_seating in box
line(P-7-120,(Q+15)-4,P-7-120,(Q+15)-1);//body
line(P-7-120,(Q+15)-4,P-12-120,(Q+15)-6); //hand
line(P-7-120,(Q+15)-4,P-2-120,(Q+15)-6);//hand
//box2
setcolor(14);
line(P+120/1.42,Q+120/1.42,P+120/1.42,(Q+15)+120/1.42);//hanger
circle(P+119/1.42,Q+119/1.42,2); //joint
bar((P-15)+120/1.42,(Q+15)+120/1.42,(P+15)+120/1.42,(Q+15)+20+120/1.42);//box
setcolor(15);
circle(P-7+120/1.42,(Q+15)-6+120/1.42,2); //man_seating in box
line(P-7+120/1.42,(Q+15)-4+120/1.42,P-7+120/1.42,(Q+15)-1+120/1.42);//body
line(P-7+120/1.42,(Q+15)-4+120/1.42,P-12+120/1.42,(Q+15)-6+120/1.42); //hand
line(P-7+120/1.42,(Q+15)-4+120/1.42,P-2+120/1.42,(Q+15)-6+120/1.42);//hand
//box2 opp
setcolor(14);
line(P-120/1.42,Q-120/1.42,P-120/1.42,(Q+15)-120/1.42);//hanger
circle(P-119/1.42,Q-119/1.42,2); //joint
bar((P-15)-120/1.42,(Q+15)-120/1.42,(P+15)-120/1.42,(Q+15)+20-120/1.42);//box
setcolor(15);
circle(P-7-120/1.42,(Q+15)-6-120/1.42,2); //man_seating in box
line(P-7-120/1.42,(Q+15)-4-120/1.42,P-7-120/1.42,(Q+15)-1-120/1.42);//body
line(P-7-120/1.42,(Q+15)-4-120/1.42,P-12-120/1.42,(Q+15)-6-120/1.42); //hand-
line(P-7-120/1.42,(Q+15)-4-120/1.42,P-2-120/1.42,(Q+15)-6-120/1.42);//hand
// box3
setcolor(14);
line(P,Q+120,P,(Q+15)+120);//handle
circle(P,Q+119,2); //joint
bar((P-15),(Q+15)+120,(P+15),(Q+15)+20+120);
//box3 opp
line(P,Q-120,P,(Q+15)-120);
circle(P,Q-119,2); //joint
bar((P-15),(Q+15)-120,(P+15),(Q+15)+20-120) ;
//box 4
line(P-120/1.42,Q+120/1.42,P-120/1.42,(Q+15)+120/1.42);
circle(P+119*co4,Q+119*si4,2); //joint
bar((P-15)-120/1.42,(Q+15)+120/1.42,(P+15)-120/1.42,(Q+15)+20+120/1.42);
//box4 opp
line(P+120/1.42,Q-120/1.42,P+120/1.42,(Q+15)-120/1.42);
circle(P+119/1.42,Q-119/1.42,2); //joint
bar((P-15)+120/1.42,(Q+15)-120/1.42,(P+15)+120/1.42,(Q+15)+20-120/1.42);
}
/****************************************************************************/
/************************************************************************
**************************************************************************
******************MAIN FUNCTION STARTS************************************/
void main()
{
int gd=DETECT,gm,P,Q,ch,poly1,poly2,z=2;
float pi=3.14/180,co1,si1,co2,si2,si3,co3,co4,si4;
int i,j,k,l;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
movobjects();
setcolor(GREEN);
objects();
stand();
star(15,60,0.3,15,15);
star(25,70,0.4,15,15);
star(35,60,0.4,15,15);
star(25,20,0.2,15,15);
star(50,60,0.5,15,15);
star(220,40,0.5,15,15);
star(220,30,0.3,15,15);
star(260,20,0.2,15,15);
star(255,10,0.1,15,15);
star(245,15,0.3,15,15);
star(180,10,0.2,15,15);
star(188,10,0.2,15,15);
star(170,15,0.1,15,15);
star(210,10,0.3,15,15);
star(230,10,0.2,15,15);
star(200,30,0.2,15,15);
star(150,10,0.2,15,15);
//
star(120,10,0.2,15,15);
star(100,10,0.2,15,15);
star(100,20,0.3,15,15);
star(120,30,0.3,15,15);
star(110,15,0.4,15,15);
star(95,10,0.4,15,15);
star(80,20,0.3,15,15);
star(70,10,0.2,15,15);
star(70,30,0.3,15,15);
star(50,30,0.2,15,15);
star(50,50,0.2,15,15);
delay(3000);
start:
while(1)
{
for(int r=0,i=30;r<=90,i<515;r++,i++)
{
if(r==45)
{
r=0;
}
if(kbhit())
{
exit(0);
}
//if(i%50!=0)
//{
star(120,10,0.17,14,15);
star(100,10,0.17,15,15);
star(100,20,0.17,15,15);
star(120,30,0.17,15,15);
star(110,15,0.17,15,15);
star(95,10,0.2,15,15);
star(80,20,0.16,14,15);
star(70,10,0.2,14,15);
star(70,30,0.18,14,15);
star(50,30,0.15,14,15);
star(50,50,0.16,14,14);
//}
float co1b,si1b,co2b,si2b,cb1,sb1,cb2,sb2,cb3,sb3,cb4,sb4;
float cob1,sib1,cob2,sib2,cob3,sib3,cob4,sib4;
co1=cos(i*pi),si1=sin(i*pi); cob1=cos(5*i*pi) , sib1=sin(5*i*pi);
cb1= cos(6*i*pi) , sb1=sin(6*i*pi);
co2=cos(j*pi),si2=sin(j*pi); cob2=cos(5*j*pi),sib2=sin(5*j*pi);
co3=cos(k*pi),si3=sin(k*pi); cob3=cos(5*k*pi),sib3=sin(5*k*pi);
co4=cos(l*pi),si4=sin(l*pi); cob4=cos(5*l*pi),sib4=sin(5*l*pi);
movobjects();
if(i%2==0)
{
star(25,70,0.4,15,15);
star(25,20,0.2,15,15);
star(220,40,0.5,15,15);
star(260,20,0.2,15,15);
star(245,15,0.3,15,15);
star(188,10,0.2,15,15);
star(210,10,0.3,15,15);
star(200,30,0.2,15,15);
}
if(i%4==0)
{
star(15,60,0.3,15,15);
star(35,60,0.4,15,15);
star(50,60,0.5,15,15);
star(220,30,0.3,15,15);
star(255,10,0.1,15,15);
star(180,10,0.2,15,15);
star(170,15,0.1,15,15);
star(230,10,0.2,15,15);
star(150,10,0.2,15,15);
}
if(i%15==0)
{
star(25,70,0.4,16,16);
star(25,20,0.2,16,16);
star(220,40,0.5,16,16);
star(260,20,0.2,16,16);
star(245,15,0.3,16,16);
star(188,10,0.2,16,16);
star(210,10,0.3,16,16);
star(200,30,0.2,16,16);
}
//bicycle
int a=-125,b=425;
setcolor(15);
//WHITE_Wheel
circle(a+1.5*i,b,10);
//Fwd_Wheel
circle(a+55+1.5*i,b,10);
setcolor(RED);
//inner_chan_ ring
circle(a+1.5*i,b,4);
//chan
line(a+1.5*i,b-2,a+25+1.5*i,b-10);
line(a+1.5*i,b+2,a+25+1.5*i,b+1);
if(i==514||i==0||z==2||z==16){z++;}
setcolor(z);
//line
line(a+1.5*i,b,a+25+1.5*i,b-5);//bk_wheel to padle
line(a+55+1.5*i,b,a+35+1.5*i,b-35);//wheel to handle
line(a+40+1.5*i,b-25,a+1.5*i,b-25);//handle to seat
line(a+40+1.5*i,b-25,a+25+1.5*i,b-5); //handle to padle
line(a+25+1.5*i,b,a+10+1.5*i,b-30); //padle to seat
line(a+1.5*i,b,a+15+1.5*i,b-25); //bk_wheel to seat
line(a+28+1.5*i,b-40,a+45+1.5*i,b-30); //handle
line(a+28+1.5*i,b-40,a+24+1.5*i,b-40);//gripper
line(a+45+1.5*i,b-30,a+41+1.5*i,b-30); //griper
//Wheel_Spokes
setcolor(WHITE);
line(a+10*cob1+1.5*i,b+10*sib1,a-10*cob1+1.5*i,b-10*sib1);//Bk
line(a+55+10*cob1+1.5*i,b+10*sib1,a+55-10*cob1+1.5*i,b-10*sib1); //Fwd
setcolor(14);
line(a+10*cob2+1.5*i,b+10*sib2,a-10*cob2+1.5*i,b-10*sib2); //Bk
line(a+55+10*cob2+1.5*i,b+10*sib2,a+55-10*cob2+1.5*i,b-10*sib2); //Fwd
setcolor(10);
line(a+10*cob3+1.5*i,b+10*sib3,a-10*cob3+1.5*i,b-10*sib3); //Bk
line(a+55+10*cob3+1.5*i,b+10*sib3,a+55-10*cob3+1.5*i,b-10*sib3); //Fwd
setcolor(9);
line(a+10*cob4+1.5*i,b+10*sib4,a-10*cob4+1.5*i,b-10*sib4);//Bk
line(a+55+10*cob4+1.5*i,b+10*sib4,a+55-10*cob4+1.5*i,b-10*sib4); //Fwd
//seat
int st[]={a+5+1.5*i,b-30,a+16+1.5*i,b-30,a+10+1.5*i,b-34,a+5+1.5*i,b-30};
setfillstyle(1,2);
drawpoly(4,st);
fillpoly(4,st);
//man
int w=z+4;
if(w==0||w==16||w-3==16 || w==1 || w-3==1 || w-3==0 ||w==4||w-3==4){w=w+1;
}
setcolor(w);
setfillstyle(1,w-3);
ellipse(a+10+1.5*i,b-50,0,360,4,6); //head
floodfill(a+10+1.5*i,b-50,w);
line(a+10+1.5*i,b-44,a+10+1.5*i,b-30); //back
line(a+10+1.5*i,b-44,a+17+1.5*i,b-39);//hand1
line(a+17+1.5*i,b-39,a+24+1.5*i,b-40) ; //hand 1
line(a+10+1.5*i,b-44,a+23+1.5*i,b-33);//hand2
line(a+23+1.5*i,b-33,a+41+1.5*i,b-30);
line(a+10+1.5*i,b-30,a+23+1.5*i,b-20); //leg1
line(a+23+1.5*i,b-20,a+25+7*cb1+1.5*i,b-5+7*sb1);
line(a+10+1.5*i,b-30,a+20+1.5*i,b-17); //leg2
line(a+20+1.5*i,b-17,a+25-7*cb1+1.5*i,b-5-7*sb1);
setcolor(RED);
//padle_circle and foot stand
circle(a+25+1.5*i,b-5,5);//padle circle
setcolor(YELLOW);
line(a+25+7*cb1+1.5*i,b-5+7*sb1,a+25-7*cb1+1.5*i,b-5-7*sb1);//both padle line
line(a+25+7*cb1+1.5*i,b-5+7*sb1,a+28+7*cb1+1.5*i,b-5+7*sb1) ; //footstand1
line(a+25-7*cb1+1.5*i,b-5-7*sb1,a+22-7*cb1+1.5*i,b-5-7*sb1); //footstand2
//car
setcolor(z+1);
line(getmaxx()+150-3*i,b-100,getmaxx()+235-3*i,b-100);
// line(getmaxx()+143-3*i,b-93,getmaxx()+150-3*i,b-93);
line(getmaxx()+138-3*i,b-82,getmaxx()+150-3*i,b-100);
//font window border
line(getmaxx()+138-3*i,b-82,getmaxx()+138-3*i,b-53);//line vertical
line(getmaxx()+138-3*i,b-53,getmaxx()+168-3*i,b-53);//horizontal
line(getmaxx()+168-3*i,b-53,getmaxx()+168-3*i,b-100);//2nd vertical
//font window
line(getmaxx()+143-3*i,b-82,getmaxx()+163-3*i,b-82);
line(getmaxx()+163-3*i,b-82,getmaxx()+163-3*i,b-95);
line(getmaxx()+163-3*i,b-95,getmaxx()+152-3*i,b-95);
line(getmaxx()+152-3*i,b-95,getmaxx()+143-3*i,b-82);
setcolor(14);
setcolor(z+1);
//middle window border
line(getmaxx()+200-3*i,b-60,getmaxx()+200-3*i,b-100);
//midlle window
line(getmaxx()+195-3*i,b-95,getmaxx()+195-3*i,b-82);
line(getmaxx()+195-3*i,b-82,getmaxx()+174-3*i,b-82);
line(getmaxx()+174-3*i,b-95,getmaxx()+174-3*i,b-82);
line(getmaxx()+174-3*i,b-95,getmaxx()+195-3*i,b-95);
//line from front wheel to back wheel
line(getmaxx()+140-3*i,b-57,getmaxx()+190-3*i,b-57);
arc(getmaxx()+200-3*i,b-50,0,180,10);
//line(from back wheel to back end
line(getmaxx()+210-3*i,b-57,getmaxx()+235-3*i,b-57);
//line from gate
line(getmaxx()+138-3*i,b-80,getmaxx()+235-3*i,b-80);
//back window
line(getmaxx()+205-3*i,b-95,getmaxx()+226-3*i,b-95);
line(getmaxx()+226-3*i,b-95,getmaxx()+226-3*i,b-82);
line(getmaxx()+226-3*i,b-82,getmaxx()+205-3*i,b-82);
line(getmaxx()+205-3*i,b-82,getmaxx()+205-3*i,b-95);
line(getmaxx()+90-3*i,b-75,getmaxx()+138-3*i,b-82);
line(getmaxx()+85-3*i,b-50,getmaxx()+90-3*i,b-75);
line(getmaxx()+85-3*i,b-50,getmaxx()+115-3*i,b-50);
arc(getmaxx()+125-3*i,b-50,0,180,10);
line(getmaxx()+135-3*i,b-50,getmaxx()+190-3*i,b-50);
line(getmaxx()+210-3*i,b-50,getmaxx()+235-3*i,b-50);
line(getmaxx()+235-3*i,b-50,getmaxx()+235-3*i,b-100);//back vertical
//satepny
line(getmaxx()+235-3*i,b-75,getmaxx()+237-3*i,b-75) ;
ellipse(getmaxx()+240-3*i,b-75,0,360,3,10);
ellipse(getmaxx()+240-3*i,b-75,0,360,2,9);
setcolor(14);
//Fwd_Wheel
circle(getmaxx()+125-3*i,b-50,8);
circle(getmaxx()+125-3*i,b-50,5);
line((getmaxx()+125)+5*cos(8*-i*pi)-3*i,(b-50)+5*sin(8*-i*pi),(getmaxx()+125)-5*cos(8*-i*pi)-3*i,(b-50)-5*sin(8*-i*pi));
line((getmaxx()+125)+5*cos(8*-(i+60)*pi)-3*i,(b-50)+5*sin(8*-(i+60)*pi),(getmaxx()+125)-5*cos(8*-(i+60)*pi)-3*i,(b-50)-5*sin(8*-(i+60)*pi));
line((getmaxx()+125)+5*cos(8*-(i+120)*pi)-3*i,(b-50)+5*sin(8*-(i+120)*pi),(getmaxx()+125)-5*cos(8*-(i+120)*pi)-3*i,(b-50)-5*sin(8*-(i+120)*pi));
//back wheel
circle(getmaxx()+200-3*i,b-50,8);
circle(getmaxx()+200-3*i,b-50,5);
line((getmaxx()+200)+5*cos(8*-i*pi)-3*i,(b-50)+5*sin(8*-i*pi),(getmaxx()+200)-5*cos(8*-i*pi)-3*i,(b-50)-5*sin(8*-i*pi));
line((getmaxx()+200)+5*cos(8*-(i+60)*pi)-3*i,(b-50)+5*sin(8*-(i+60)*pi),(getmaxx()+200)-5*cos(8*-(i+60)*pi)-3*i,(b-50)-5*sin(8*-(i+60)*pi));
line((getmaxx()+200)+5*cos(8*-(i+120)*pi)-3*i,(b-50)+5*sin(8*-(i+120)*pi),(getmaxx()+200)-5*cos(8*-(i+120)*pi)-3*i,(b-50)-5*sin(8*-(i+120)*pi));
//**************GIANT WHEEL************************//
//Round wheel
setcolor(BLACK);
//wheel_stand
P=500;Q=125 ;
line(P,Q,450,260);
line(550,260,P,Q);
//charakha
//inner circle lines
setcolor(RED);
line(P,Q,P+50*co1,Q+50*si1);//inner circle line start angle=i=0
//when i=0;line(P,Q,P+50,Q+0)
line(P,Q,P-50*co1,Q-50*si1);//opp line ;when i=0; line(P,Q,P-50,Q-0)
setcolor(15);
// line from inner to outer circle
line(P+50*cos((i+22.5)*pi),Q+50*sin((i+22.5)*pi),P+120*cos((i+22.5)*pi),Q+120*sin((i+22.5)*pi));
line(P-50*cos((i+22.5)*pi),Q-50*sin((i+22.5)*pi),P-120*cos((i+22.5)*pi),Q-120*sin((i+22.5)*pi));
line(P+50*cos((j+22.5)*pi),Q+50*sin((j+22.5)*pi),P+120*cos((j+22.5)*pi),Q+120*sin((j+22.5)*pi));
line(P-50*cos((j+22.5)*pi),Q-50*sin((j+22.5)*pi),P-120*cos((j+22.5)*pi),Q-120*sin((j+22.5)*pi));
line(P+120*cos((k+22.5)*pi),Q+120*sin((k+22.5)*pi),P+50*cos((k+22.5)*pi),Q+50*sin((k+22.5)*pi));
line(P-120*cos((k+22.5)*pi),Q-120*sin((k+22.5)*pi),P-50*cos((k+22.5)*pi),Q-50*sin((k+22.5)*pi));
line(P+120*cos((l+22.5)*pi),Q+120*sin((l+22.5)*pi),P+50*cos((l+22.5)*pi),Q+50*sin((l+22.5)*pi));
line(P-120*cos((l+22.5)*pi),Q-120*sin((l+22.5)*pi),P-50*cos((l+22.5)*pi),Q-50*sin((l+22.5)*pi));
setcolor(4);
j=i+90;
line(P,Q,P+50*co2,Q+50*si2);
line(P,Q,P-50*co2,Q-50*si2);
k=i+45;
line(P,Q,P+50*co3,Q+50*si3);
line(P,Q,P-50*co3,Q-50*si3 );
l=j+45;
line(P,Q,P+50*co4,Q+50*si4);
line(P,Q,P-50*co4,Q-50*si4);
circle(P,Q,50);
circle(P,Q,10);
circle(P,Q,120);
circle(P,Q,118);
setcolor(BLACK);
setfillstyle(1,YELLOW);
/***************************************************************
****************************************************************
To give the gravitational effect to boxes we are moving them in a
diferent circcular path center (P,Q+15)*/
//box 1
setcolor(14);
line(P+120*co1,Q+120*si1,P+120*co1,(Q+15)+120*si1); //hanger
circle(P+119*co1,Q+119*si1,2); //joint
bar((P-15)+120*co1,(Q+15)+4+120*si1,(P+15)+120*co1,(Q+15)+20+120*si1);
rectangle((P-15)+120*co1,(Q+15)+120*si1,(P+15)+120*co1,(Q+15)+20+120*si1);
setcolor(15);
circle(P-7+120*co1,(Q+15)-6+120*si1,2); //man_seating in box
line(P-7+120*co1,(Q+15)-4+120*si1,P-7+120*co1,(Q+15)+3+120*si1);//body
line(P-7+120*co1,(Q+15)-4+120*si1,P-12+120*co1,(Q+15)-6+120*si1); //hand
line(P-7+120*co1,(Q+15)-4+120*si1,P-2+120*co1,(Q+15)-6+120*si1);//hand
//box1 opp
setcolor(14);
line(P-120*co1,Q-120*si1,P-120*co1,(Q+15)-120*si1);
circle(P-119*co1,Q-119*si1,2); //joint
rectangle((P-15)+120*co1,(Q+15)+120*si1,(P+15)+120*co1,(Q+15)+20+120*si1);
bar((P-15)-120*co1,(Q+15)-120*si1,(P+15)-120*co1,(Q+15)+20-120*si1);
setcolor(15);
circle(P-7-120*co1,(Q+15)-6-120*si1,2); //man_seating in box
line(P-7-120*co1,(Q+15)-4-120*si1,P-7-120*co1,(Q+15)-1-120*si1);//body
line(P-7-120*co1,(Q+15)-4-120*si1,P-12-120*co1,(Q+15)-6-120*si1); //hand
line(P-7-120*co1,(Q+15)-4-120*si1,P-2-120*co1,(Q+15)-6-120*si1);//hand
//box2
setcolor(14);
line(P+120*co2,Q+120*si2,P+120*co2,(Q+15)+120*si2);//hanger
circle(P+119*co2,Q+119*si2,2); //joint
bar((P-15)+120*co2,(Q+15)+120*si2,(P+15)+120*co2,(Q+15)+20+120*si2);//box
setcolor(15);
circle(P-7+120*co2,(Q+15)-6+120*si2,2); //man_seating in box
line(P-7+120*co2,(Q+15)-4+120*si2,P-7+120*co2,(Q+15)-1+120*si2);//body
line(P-7+120*co2,(Q+15)-4+120*si2,P-12+120*co2,(Q+15)-6+120*si2); //hand
line(P-7+120*co2,(Q+15)-4+120*si2,P-2+120*co2,(Q+15)-6+120*si2);//hand
//box2 opp
setcolor(14);
line(P-120*co2,Q-120*si2,P-120*co2,(Q+15)+20-120*si2); //hanger
circle(P-119*co2,Q-119*si2,2); //joint
bar((P-15)-120*co2,(Q+15)-120*si2,(P+15)-120*co2,(Q+15)+20-120*si2); //box
setcolor(15);
circle(P-7-120*co2,(Q+15)-6-120*si2,2); //man_seating in box
line(P-7-120*co2,(Q+15)-4-120*si2,P-7-120*co2,(Q+15)-1-120*si2);//body
line(P-7-120*co2,(Q+15)-4-120*si2,P-12-120*co2,(Q+15)-6-120*si2); //hand
line(P-7-120*co2,(Q+15)-4-120*si2,P-2-120*co2,(Q+15)-6-120*si2);//hand
// box3
setcolor(14);
line(P+120*co3,Q+120*si3,P+120*co3,(Q+15)+120*si3);//handle
circle(P+119*co3,Q+119*si3,2); //joint
bar((P-15)+120*co3,(Q+15)+120*si3,(P+15)+120*co3,(Q+15)+20+120*si3);
//box3 opp
line(P-120*co3,Q-120*si3,P-120*co3,(Q+15)-120*si3);
circle(P-119*co3,Q-119*si3,2); //joint
bar((P-15)-120*co3,(Q+15)-120*si3,(P+15)-120*co3,(Q+15)+20-120*si3) ;
//box 4
line(P+120*co4,Q+120*si4,P+120*co4,(Q+15)+120*si4);
circle(P+119*co4,Q+119*si4,2); //joint
bar((P-15)+120*co4,(Q+15)+120*si4,(P+15)+120*co4,(Q+15)+20+120*si4);
//box4 opp
line(P-120*co4,Q-120*si4,P-120*co4,(Q+15)-120*si4);
circle(P-119*co4,Q-119*si4,2); //joint
bar((P-15)-120*co4,(Q+15)-120*si4,(P+15)-120*co4,(Q+15)+20-120*si4);
//stand
stand();
//boy is going to slide
//boy2
circle(120-0.3*r,70+0.6*r,8);
line(120-0.3*r,78+0.6*r,115-0.3*r,100+0.6*r);
line(120-0.3*r,78+0.6*r,125-0.3*r,100+0.6*r);
line(120-0.3*r,78+0.6*r,130-0.3*r,83+0.6*r);//hnd1
line(120-0.3*r,78+0.6*r,110-0.3*r,83+0.6*r);
// boysliding
circle(100-r,130+2.5*r,8);
line(100-r,138+2.5*r,95-r,160+2.5*r);//back
line(100-r,138+2.5*r,90-r,148+2.5*r); //hnd1
line(90-r,148+2.5*r,85-r,146+2.5*r);
line(100-r,138+2.5*r,103-r,155+2.5*r);//hand2
line(103-r,155+2.5*r,105-r,152+2.5*r);
line(95-r,160+2.5*r,80-r,168+2.5*r);//leg1
line(80-r,168+2.5*r,81-r,178+2.5*r);
line(95-r,160+2.5*r,88-r,168+2.5*r); //leg2
line(88-r,168+2.5*r,89-r,179+2.5*r);
delay(10);
}
}//WHILE ENDS
getch();
closegraph();
}
0 comments:
Post a Comment