/* CREATED BY, JUBIN JOSE, Watch music video created with this code here: https://www.youtube.com/watch?feature=player_detailpage&v=hOQuOEuVV5o Read Full details about this Project: http://iamjbn.blogspot.in/2012/05/eclipse-graphics-animation-music-video.html Get me on facebook: https://facebook.com/PixVfx Get me on twitter: https://twitter.com/IamJubin */ #include #include #include #include #include #include #include #include using namespace std; int path[600],a[1420][2],cas=1,s=1416,ar[1000][2],maxx,maxy,s3=0,color=8,change=0,dl=100,ex=0; void bezierCurve(int p1x,int p1y,int p2x,int p2y,int p3x,int p3y); void Wiggle(int x1,int y1,int x2,int y2,double d); void drawcCircle(int xc,int yc,int r); int circularArray(int p1,int p2); void boxer(int spx, int spy, int length, int breadth, int skip, int option); void grains(int thickness); int dist(int a,int b); //******************************SCENES ************************************************ void sound_thread(void *param1); void scene3(); //SCENE 3 void scene3thread1(void *param1); void scene3thread2(void *param2); void scene3thread3(void *param3); void scene3thread4(void *param4); void scene3thread5(void *param5); void scene3thread6(void *param6); void scene3thread7(void *param7); void scene3thread8(void *param8); void scene3thread9(void *param9); void scene4(); //SCENE 4 void scene4thread1(void *param1); void scene4thread2(void *param2); void scene4thread3(void *param3); void scene4thread4(void *param4); void scene4thread5(void *param5); void scene4thread6(void *param6); void scene4thread7(void *param7); void scene5(); //SCENE 5 void scene5thread1(void *param1); void scene5thread2(void *param2); void scene5thread3(void *param3); void scene6(); //SCENE 6 void scene7(); //SCENE 7 void scene8(); //SCENE 8 void scene9(); //SCENE 9 void scene10(); //SCENE 10 void scene10thread1(void *param1); void scene10thread2(void *param2); void scene10thread3(void *param3); void scene10thread4(void *param4); void scene10thread5(void *param5); void scene10thread6(void *param6); void scene10thread7(void *param7); void scene10thread8(void *param8); void scene11(); //SCENE 11 void scene12(); //SCENE 12 void scene12thread1(void *param1); void scene12thread2(void *param2); void scene12thread3(void *param3); void scene12thread4(void *param4); void scene12thread5(void *param5); void scene12thread6(void *param6); void scene12thread7(void *param7); void scene12thread8(void *param8); void scene12thread9(void *param9); void scene12thread10(void *param10); void scene14(); //SCENE 14 //DON't CARE ITS REPEATING void bezierCurve1(int p1x,int p1y,int p2x,int p2y,int p3x,int p3y); void Wiggle1(int x1,int y1,int x2,int y2,double d); void boxer1(int spx, int spy, int length, int breadth, int skip, int option); /************************************************ MAIN FUNCTION *****************************************************/ int main( ) { int i;double w; initwindow( 700 ,700 , "WinBGIm" ); int val; HANDLE handle; // bezierCurve(0,100,500,200,0,300); // for(i=0;i<500;i+=2) // {w=rand()%100; // Wiggle(i,i,i+2,i+2,5+w);delay(0); // } maxx=getmaxx(); maxy=getmaxy(); handle = (HANDLE) _beginthread( sound_thread,0,&val); drawcCircle(maxx/2,maxy/2,250); delay(1000); cleardevice(); scene3(); // scene3(); if(s3==1) scene4(); setfillstyle(1,WHITE); grains(6); setcolor(BLACK); scene5(); scene6(); scene7(); scene8(); setcolor(WHITE); scene9(); scene10(); scene11(); scene12(); scene14(); getch(); closegraph( ); return( 0 ); } void sound_thread(void *param1) //****************************** PLAY SOUND THREAD ******************************************************** { int h=*((int*)param1); PlaySound("C:/Users/jubin/Desktop/1.wav",NULL,SND_FILENAME); } /* **************************************************************************************************************************************************************** ********************** SCENE 3 ********************************************************************************************** */ void scene3() { int j=0,next=0,w=0,x; double decay=0; int i; int val,val1,innr=20; HANDLE handle; val =71; val1=100; //FIRST ANIMATION STARTS: for(x=s/4;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); w=rand()%50; decay+=1; j=5; next=x-j; //if(x+2>568) //color=7; Wiggle(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w-decay); delay(50); } //SECOND ANIMATION STARTS HERE: for(x=s/4;x=j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=5; next=x-j; //if(x+2>568) w=rand()%50; Wiggle(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(50); } //setcolor(RED); for(x=s/8;x568) w=rand()%100; Wiggle(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(20); } } void scene3thread2(void *param2) //******************************* THREAD 2 ********************************************** { int h=*((int*)param2); int x,j=0,next,w; for(x=s/4;x568) w=rand()%100; Wiggle(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(20); } j=5; for(x=s/4;;x-=j) { next=x-j; w=rand()%80; Wiggle(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(20); if(next<=x/2-10) break; } } void scene3thread3(void *param3) //******************************* THREAD 3 ********************************************** { int h=*((int*)param3); int x,j=0,next,w;float k=0; for(x=0;x568) w=rand()%100; Wiggle(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=.4; delay(50); }k=0; for(x=0;x568) w=rand()%200; Wiggle(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=1; delay(20); } k=0; for(x=100;x568) w=rand()%40; Wiggle(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k++; delay(20); } boxer(a[14][0],a[14][1]-10, 400, 250, 15, 1); delay(100); boxer(a[800][0]+200,a[800][1]+10, 350, 100, 10, 2); } void scene3thread4(void *param4) //******************************* THREAD 4 ********************************************** { int h=*((int*)param4); int x,j=0,next,w;float k=0; for(x=s/4+200;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=6; next=x-j; //if(x+2>568) w=rand()%50; Wiggle(circularArray(x,0)-k,circularArray(x,1),circularArray(next,0)-k,circularArray(next,1),w); k+=.4; delay(50); }k=0; for(x=s/4;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%200; Wiggle(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=.1; delay(20); } k=0; for(x=s/4;x568) w=rand()%40; Wiggle(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k++; delay(20); }j=0; boxer(a[14][0],a[14][1]-10, 400, 250, 15, 1); boxer(a[500][0],a[500][1]+200, 350, 150, 10, 4); } void scene3thread5(void *param5) //******************************* THREAD 5 ********************************************** { int incr=*((int*)param5); int x,j=0,next,w,l=0,m=0;float k=incr,shift=1; while(m<10) { for(x=1+l;x<=s/2-l;x+=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%100; Wiggle(circularArray(x,0)-k-shift,circularArray(x,1),circularArray(next,0)-k-shift,circularArray(next,1),w); k+=.1; if(circularArray(next,1)<=maxy/2&&circularArray(next,1)>=maxy/4) shift+=2; if(circularArray(next,1)>=maxy/2&&circularArray(next,1)<=3*maxy/4) shift-=2; delay(30);//incr++; }l+=17;j++;m++;}} void scene3thread6(void *param6) //******************************* THREAD 6 ********************************************** { int incr=*((int*)param6); int x,j=0,next,w,l=0,m=0;float k=incr; // delay(10000); while(m<10) { for(x=s/2-l;x>=l+j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%100; Wiggle(circularArray(x,0)-k,circularArray(x,1),circularArray(next,0)-k,circularArray(next,1),w); k+=.1; delay(30);//incr++; }l+=17;j--;m++;}} void scene3thread7(void *param7) //******************************* THREAD 7 ********************************************** { int incr=*((int*)param7);int j=100,k=0,yoyo=0; while(yoyo<=50) { //boxer(a[177][0]+j,a[177][1]+j+100, 400, 800, 15, 3); delay(100); boxer(a[531][0]+100-j,a[531][1]-100+j, 400, 150+j, 10, 4); boxer(a[14][0]-k*3,a[14][1]-10, 500, 450, 15, 1); boxer(a[500][0]+k,a[500][1]+200-k, 350, 350+k, 10, 4); boxer(a[531][0]-j,a[531][1]+100, 500, 150+j*2, 10, 4); //boxer(circularArray(177,0)+2*j,circularArray(177,1)+k, 400, 250, 15, 4); j+=5;k+=2; //bgiout<568) w=rand()%50; Wiggle(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(70);//incr++; } for(x=s-1;x>s-100*k&&change!=2;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=5; next=x-j; //if(x+2>568) w=rand()%50; Wiggle(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(70);//incr++; } k++;} //handle = (HANDLE) _beginthread( scene3thread8,0,&innr); } /* **************************************************************************************************************************************************************** ********************************************************** SCENE 4 ********************************************************************************************** */ void scene4() { int val,val1,rv; HANDLE handle; handle = (HANDLE) _beginthread( scene4thread5,0,&val); // handle = (HANDLE) _beginthread( scene4thread6,0,&val); for(int i=0;change!=2;i++) { val =5+rand()%20; rv=rand()%4; switch(rv+1) {case 1: handle = (HANDLE) _beginthread( scene4thread4,0,&val); handle = (HANDLE) _beginthread( scene4thread1,0,&val);break; case 2: handle = (HANDLE) _beginthread( scene4thread3,0,&val); handle = (HANDLE) _beginthread( scene4thread2,0,&val);break; } val1 =5+rand()%10; rv=rand()%4; switch(rv+1) {case 2: handle = (HANDLE) _beginthread( scene4thread1,0,&val); handle = (HANDLE) _beginthread( scene4thread4,0,&val); break; case 1: handle = (HANDLE) _beginthread( scene4thread2,0,&val); handle = (HANDLE) _beginthread( scene4thread3,0,&val); break; } WaitForSingleObject(handle,INFINITE); } //cleardevice(); } void scene4thread1(void *param1) //****************************** THREAD 1 ******************************************************** { int h=*((int*)param1); int next=0,w,x,y,i; for(i=s/4;i>s/8;) // to the right from bottom { next=i-h; w=rand()%50; Wiggle(a[i][0],a[i][1],a[next][0],a[next][1],w); i=next; delay(50); } x=a[next][0]; y=a[next][1]; while((x0)) { w=rand()%50; Wiggle(x,y,x+h,y-h,w); x=x+h; y=y-h; delay(20); // line(a[354][0],a[354][1],maxx,0); // line(a[885][0],a[885][1],0,maxy); } for(i=3*s/4;i>s/2+s/8;) // to the left from top { next=i-h; w=rand()%50; Wiggle(a[i][0],a[i][1],a[next][0],a[next][1],w); i=next; delay(20); } x=a[next][0]; y=a[next][1]; while((x>0)&&(y0)) { w=rand()%50; Wiggle(x,y,x+h,y-h,w); x=x+h; y=y-h; delay(20); // line(a[354][0],a[354][1],maxx,0); // line(a[885][0],a[885][1],0,maxy); } for(i=s/2;i0)&&(ys/2+s/8;) // to the left from top { next=i-h; w=rand()%50; Wiggle(a[i][0],a[i][1],a[next][0],a[next][1],w); i=next; delay(20); } x=a[next][0]; y=a[next][1]; while((x>0)&&(ys/8;) // to the right from bottom { next=i-h; w=rand()%50; Wiggle(a[i][0],a[i][1],a[next][0],a[next][1],w); i=next; delay(20); } x=a[next][0]; y=a[next][1]; while((x0)) { w=rand()%50; Wiggle(x,y,x+h,y-h,w); x=x+h; y=y-h; delay(20); // line(a[354][0],a[354][1],maxx,0); // line(a[885][0],a[885][1],0,maxy); } } void scene4thread4(void *param4) //****************************** THREAD 4 ******************************************************** { int h=*((int*)param4); int next=0,w,x,y,i; for(i=s/2;i0)&&(y0)) { w=rand()%50; Wiggle(x,y,x+h,y-h,w); x=x+h; y=y-h; delay(20); // line(a[354][0],a[354][1],maxx,0); // line(a[885][0],a[885][1],0,maxy); } } void scene4thread5(void *param5) //****************************** THREAD 5 ******************************************************** { int h=*((int*)param5); int i,w,val;float j=0; HANDLE handle; setcolor(BLACK); setfillstyle(1,BLACK); for( i=0;i<250;i++) {setfillstyle(1,BLACK); fillellipse(maxx/2,maxy/2,i,i); if(i>100) { setfillstyle(1,WHITE); fillellipse(maxx/2,maxy/2,i-100,i-100);delay(10); } } setfillstyle(1,BLACK); setcolor(WHITE); fillellipse(maxx/2,maxy/2,i-100,i-100); setfillstyle(1,GREEN); handle = (HANDLE) _beginthread( scene4thread7,0,&val); for(i=5;i70) delay(35); j+=.4; // WaitForSingleObject(handle,INFINITE); }delay(3); change=2; cleardevice(); for(i=0;i=0;i+=3) {bar(maxx/2,maxy,maxx/2-i,-1); delay(2);} setcolor(BLACK); } /* **************************************************************************************************************************************************************** ********************************************************** SCENE 8 ********************************************************************************************** */ void scene8() { int val,i,sk=15,r,c=1; HANDLE handle; delay(1000); //setcolor(BLACK); for(i=0;i=maxy/2+r) { for(i=0;i<=maxx;i++) {putpixel(i,ry,WHITE);}} // line(0,ry,200,ry); else {for(i=0;i<=maxx;i++) {d1=(maxx/2-i); d1*=d1; d2=(maxy/2-ry); d2*=d2; d=sqrt(d1+d2); if(d<=r) { if(d==r && imaxx/2) { ep=i; c1=change; change=10; bezierCurve(sp,ry,maxx/2,maxy/2+w,ep,ry); change=c1;} continue;} putpixel(i,ry,WHITE); }} case 2: rx=rand()%maxx; if(rx<=maxx/2-r || rx>=maxx/2+r) { for(i=0;i<=maxy;i++) {putpixel(rx,i,WHITE);}} // line(0,ry,200,ry); else {for(i=0;i<=maxy;i++) {d1=(maxx/2-rx); d1*=d1; d2=(maxy/2-i); d2*=d2; d=sqrt(d1+d2); if(d<=r) { if(d==r && imaxy/2) { ep=i; c1=change; change=10; bezierCurve(rx,sp,maxx/2+w,maxy/2,rx,ep); change=c1;} continue;} putpixel(rx,i,WHITE); }} delay(30);} k++;}delay(1000);cleardevice(); } /* **************************************************************************************************************************************************************** ********************************************************** SCENE 10 ********************************************************************************************** */ void scene10() { HANDLE handle; int val=10,val1=25,val2=50,val3=90,val4=70,val5=80,i; setfillstyle(1,WHITE); bar(0,0,maxx+10,maxy+10);//cleardevice(); setfillstyle(1,BLACK); // setcolor(BLACK); // handle = (HANDLE) _beginthread( scene10thread10,0,&val); handle = (HANDLE) _beginthread( scene10thread7,0,&val); handle = (HANDLE) _beginthread( scene10thread1,0,&val4); handle = (HANDLE) _beginthread( scene10thread2,0,&val1); handle = (HANDLE) _beginthread( scene10thread3,0,&val2); handle = (HANDLE) _beginthread( scene10thread4,0,&val3); handle = (HANDLE) _beginthread( scene10thread5,0,&val4); handle = (HANDLE) _beginthread( scene10thread6,0,&val5); handle = (HANDLE) _beginthread( scene10thread1,0,&val5); handle = (HANDLE) _beginthread( scene10thread2,0,&val4); handle = (HANDLE) _beginthread( scene10thread3,0,&val3); handle = (HANDLE) _beginthread( scene10thread4,0,&val2); handle = (HANDLE) _beginthread( scene10thread5,0,&val1); handle = (HANDLE) _beginthread( scene10thread6,0,&val); WaitForSingleObject(handle,INFINITE); for(i=0;i<250;i++){ fillellipse(maxx/2,maxy/2,i,i);delay(10);} dl=100; handle = (HANDLE) _beginthread( scene10thread7,0,&val); for(i=0;i<5;i++) handle = (HANDLE) _beginthread( scene10thread8,0,&i); WaitForSingleObject(handle,INFINITE); delay(1000); cleardevice(); } void scene10thread1(void *param1) //****************************** THREAD 1 ******************************************************** { int h=*((int*)param1); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 1: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 8: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 7: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 6: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 5: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 4: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 3: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread2(void *param2) //****************************** THREAD 2 ******************************************************** { int h=*((int*)param2); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 1: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 3: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 4: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 5: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 8: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 7: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 6: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread3(void *param3) //****************************** THREAD 3 ******************************************************** { int h=*((int*)param3); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 1: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 3: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 4: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 5: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 7: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 6: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 8: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread4(void *param4) //****************************** THREAD 4 ******************************************************** { int h=*((int*)param4); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 1: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 3: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 4: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 7: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 6: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 5: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 8: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread5(void *param5) //****************************** THREAD 5 ******************************************************** { int h=*((int*)param5); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 1: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 3: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 4: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 8: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 5: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 6: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 7: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread6(void *param6) //****************************** THREAD 6 ******************************************************** { int h=*((int*)param6); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15; //for(int j=0;jmaxx) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 2: d=dist(x-skip,y); if(d<=r || x-skip<0) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 3: d=dist(x,y+skip); if(d<=r || y+skip>maxy) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 4: d=dist(x,y-skip); if(d<=r || y-skip<0) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 5: d=dist(x+skip,y-skip); if(d<=r || x+skip>maxx || y-skip<0) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 6: d=dist(x+skip,y+skip); if(d<=r || x+skip>maxx || y+skip>maxy) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 7: d=dist(x-skip,y+skip); if(d<=r || x-skip<0 || y+skip>maxy) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 8: d=dist(x-skip,y-skip); if(d<=r || x-skip<0 || y-skip<0) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene10thread7(void *param7) //****************************** THREAD 7 ******************************************************** { int h=*((int*)param7); delay(5000); dl=50; delay(5000); dl=20; delay(5000); dl=10; delay(5000); dl=0; } void scene10thread8(void *param8) //****************************** THREAD 8 ******************************************************** { int h=*((int*)param8); int val,x=0,y=0,d,r=250,flag=0,limit=10000,i=0,cas,skip=15,ran; //for(int j=0;j=r) continue; flag++; }//} while(i=r) continue; line(x,y,x+skip,y); i++; x+=skip; break; case 2: d=dist(x-skip,y); if(d>=r) continue; line(x,y,x-skip,y); i++; x-=skip; break; case 4: d=dist(x,y+skip); if(d>=r) continue; line(x,y,x,y+skip); i++; y+=skip; break; case 3: d=dist(x,y-skip); if(d>=r) continue; line(x,y,x,y-skip); i++; y-=skip; break; case 7: d=dist(x+skip,y-skip); if(d>=r) continue; line(x,y,x+skip,y-skip); i++; x+=skip; y-=skip; break; case 6: d=dist(x+skip,y+skip); if(d>=r) continue; line(x,y,x+skip,y+skip); i++; x+=skip; y+=skip; break; case 5: d=dist(x-skip,y+skip); if(d>=r) continue; line(x,y,x-skip,y+skip); i++; x-=skip; y+=skip; break; case 1: d=dist(x-skip,y-skip); if(d>=r) continue; line(x,y,x-skip,y-skip); i++; x-=skip; y-=skip; break; }delay(dl); }} void scene11() //******************************************** SCENE 11 ******************************************************************* { int val,val1,rv; HANDLE handle; for(int i=550;i>0;i-=2) { //cleardevice(); setcolor(BLACK); setfillstyle(1,WHITE); fillellipse(maxx/2,maxy/2,250,250); setfillstyle(1,BLACK); fillellipse(maxx/2+i,maxy/2,300,300); delay(10); } delay(1000); } void scene12() //***************************************** SCENE 12 ****************************************************************************** { int j=0,next=0,w=0,x; double decay=0; int i; int val,val1,innr=20; HANDLE handle; val =71; val1=100; // setfillstyle(1,WHITE); // bar(0,0,maxx+10,maxy+10); //FIRST ANIMATION STARTS: color=4; for(x=s/4;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); w=rand()%50; decay+=1; j=5; next=x-j; //if(x+2>568) //color=7; Wiggle1(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w-decay); delay(50); } //SECOND ANIMATION STARTS HERE: color=2; for(x=s/4;x=j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=5; next=x-j; //if(x+2>568) w=rand()%50; Wiggle1(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(50); } //setcolor(RED); for(x=s/8;x568) w=rand()%100; Wiggle1(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(20); } } void scene12thread2(void *param2) //******************************* THREAD 2 ********************************************** { int h=*((int*)param2); int x,j=0,next,w; for(x=s/4;x568) w=rand()%100; Wiggle1(a[x%s][0],a[x%s][1],a[next%s][0],a[next%s][1],w); delay(20); } j=5; for(x=s/4;;x-=j) { next=x-j; w=rand()%80; Wiggle1(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(20); if(next<=x/2-10) break; } } void scene12thread3(void *param3) //******************************* THREAD 3 ********************************************** { int h=*((int*)param3); int x,j=0,next,w;float k=0; for(x=0;x568) w=rand()%100; Wiggle1(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=.4; delay(50); }k=0; for(x=0;x568) w=rand()%200; Wiggle1(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=1; delay(20); } k=0; for(x=100;x568) w=rand()%40; Wiggle1(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k++; delay(20); } boxer1(a[14][0],a[14][1]-10, 400, 250, 15, 1); delay(100); boxer1(a[800][0]+200,a[800][1]+10, 350, 100, 10, 2); } void scene12thread4(void *param4) //******************************* THREAD 4 ********************************************** { int h=*((int*)param4); int x,j=0,next,w;float k=0; for(x=s/4+200;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=6; next=x-j; //if(x+2>568) w=rand()%50; Wiggle1(circularArray(x,0)-k,circularArray(x,1),circularArray(next,0)-k,circularArray(next,1),w); k+=.4; delay(50); }k=0; for(x=s/4;x>j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%200; Wiggle1(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k+=.1; delay(20); } k=0; for(x=s/4;x568) w=rand()%40; Wiggle1(a[x][0]-k,a[x][1],a[next][0]-k,a[next][1],w); k++; delay(20); }j=0; boxer1(a[14][0],a[14][1]-10, 400, 250, 15, 1); boxer1(a[500][0],a[500][1]+200, 350, 150, 10, 4); } void scene12thread5(void *param5) //******************************* THREAD 5 ********************************************** { int incr=*((int*)param5); int x,j=0,next,w,l=0,m=0;float k=incr,shift=1; while(m<10) { for(x=1+l;x<=s/2-l;x+=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%100; Wiggle1(circularArray(x,0)-k-shift,circularArray(x,1),circularArray(next,0)-k-shift,circularArray(next,1),w); k+=.1; if(circularArray(next,1)<=maxy/2&&circularArray(next,1)>=maxy/4) shift+=2; if(circularArray(next,1)>=maxy/2&&circularArray(next,1)<=3*maxy/4) shift-=2; delay(30);//incr++; }l+=17;j++;m++;}} void scene12thread6(void *param6) //******************************* THREAD 6 ********************************************** { int incr=*((int*)param6); int x,j=0,next,w,l=0,m=0;float k=incr; // delay(10000); while(m<10) { for(x=s/2-l;x>=l+j;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=10; next=x-j; //if(x+2>568) w=rand()%100; Wiggle1(circularArray(x,0)-k,circularArray(x,1),circularArray(next,0)-k,circularArray(next,1),w); k+=.1; delay(30);//incr++; }l+=17;j--;m++;}} void scene12thread7(void *param7) //******************************* THREAD 7 ********************************************** { int incr=*((int*)param7);int j=100,k=0,yoyo=0; while(yoyo<=50) { //boxer(a[177][0]+j,a[177][1]+j+100, 400, 800, 15, 3); delay(100); boxer1(a[531][0]+100-j,a[531][1]-100+j, 400, 150+j, 10, 4); boxer1(a[14][0]-k*3,a[14][1]-10, 500, 450, 15, 1); boxer1(a[500][0]+k,a[500][1]+200-k, 350, 350+k, 10, 4); boxer1(a[531][0]-j,a[531][1]+100, 500, 150+j*2, 10, 4); //boxer(circularArray(177,0)+2*j,circularArray(177,1)+k, 400, 250, 15, 4); j+=5;k+=2; //bgiout<568) w=rand()%50; Wiggle1(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(70);//incr++; } for(x=s-1;x>s-100*k&&change!=2;x-=j) { // putpixel(a[x][0],a[x][1],8-j); j=5; next=x-j; //if(x+2>568) w=rand()%50; Wiggle1(circularArray(x,0),circularArray(x,1),circularArray(next,0),circularArray(next,1),w); delay(70);//incr++; } k++;} //handle = (HANDLE) _beginthread( scene3thread8,0,&innr); } void scene12thread10(void *param10) //******************************* THREAD 10 ********************************************** { int incr=*((int*)param10);int i=0,rr; while(ex!=1) {rr=rand()%16; color=rr;delay(100); i++; }} /* **************************************************************************************************************************************************************** ********************************************************** SCENE 14 ********************************************************************************************** */ void scene14() { HANDLE handle; int r,i,limit=26,val;//float val=0.097; char eclipse[26]={'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M'}; // val=maxx setcolor(WHITE);ex=0; settextstyle(2,4,20); for(i=0;i568) w=rand()%100; Wiggle(a[x%568][0],a[x%568][1],a[next%568][0],a[next%568][1],w); delay(100); } */ } void Wiggle(int x1,int y1,int x2,int y2,double d) { double m,c,c1; int mx,my,p,q,p1,q1; // while( !kbhit() ) // { //x1++; //x2++; // y1+=2; // y2-=2; if(y2-y1==0) m=x1-x2; else m=(x1-x2)/(y2-y1); mx=int((x1+x2)/2); my=int((y1+y2)/2); c=d*d-mx*mx-m*m*mx*mx; c1=c/(1+m*m); p=int(sqrt(c1+mx*mx)+mx); p1=int(mx-sqrt(c1+mx*mx)); // bgiout<length) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx+skip; nsx=nsx+skip; // b1=b1-skip; ar[i][1]=nsy-skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy-skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy-skip; break; } i++; nsy=nsy-skip; l1=l1-skip; }break; }k++;} for(int j=0;jlength) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; } cas=4;break; case 4: while(l1>=0) { random=rand()%2; switch(random+1) { case 3: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1-skip; ar[i][1]=nsy+skip; break; case 1: ar[i][0]=nsx; ar[i][1]=nsy+skip; break; case 2: ar[i][0]=nsx-skip; nsx=nsx-skip; // b1=b1+skip; ar[i][1]=nsy+skip; break; } i++; nsy=nsy+skip; l1=l1-skip; }break; }k++;} for(int j=0;j