Program Butterfly;
Uses CRT,Graph;
Const Time=2500;
Var grDriver,grMode,ErrCode:Integer;
    i:Byte;
Procedure body(a,b:Word);
Begin
   SetColor(brown);
   Rectangle(a+1,b,a+2,b+1);       Line(a+2,b+2,a+2,b+3);
   PutPixel(a+4,b+4,6);            Line(a+5,b+5,a+5,b+6);
   PutPixel(a+6,b+7,6);            Line(a+5,b+8,a+5,b+9);
   Line(a+4,b+10,a+4,b+12);        PutPixel(a+3,b+13,6);
   Line(a+2,b+14,a+2,b+15);        Line(a,b+16,a+1,b+16);
   Rectangle(a,b+19,a+3,b+33);     Rectangle(a+1,b+18,a+2,b+32);
   Rectangle(a,b+34,a+2,b+39);     Rectangle(a,b+40,a+1,b+44);
   Line(a+1,b+35,a+1,b+39);
   SetColor(yellow);
   Rectangle(a,b+17,a+2,b+18);     Line(a,b+22,a+2,b+22);
   Line(a,b+26,a+1,b+26);          PutPixel(a,b+31,14);
   SetColor(brown);
   Rectangle(a-2,b,a-3,b+1);       Line(a-3,b+2,a-3,b+3);
   PutPixel(a-5,b+4,6);            Line(a-6,b+5,a-6,b+6);
   PutPixel(a-7,b+7,6);            Line(a-6,b+8,a-6,b+9);
   Line(a-5,b+10,a-5,b+12);        PutPixel(a-4,b+13,6);
   Line(a-3,b+14,a-3,b+15);        Line(a-1,b+16,a-2,b+16);
   Rectangle(a-1,b+19,a-4,b+33);   Rectangle(a-2,b+18,a-3,b+32);
   Rectangle(a-1,b+34,a-3,b+39);   Rectangle(a-1,b+40,a-2,b+44);
   Line(a-2,b+35,a-2,b+39);
   SetColor(yellow);
   Rectangle(a-1,b+17,a-3,b+18);   Line(a-1,b+22,a-3,b+22);
   Line(a-1,b+26,a-2,b+26);        PutPixel(a-1,b+31,14)
End;
Procedure whole(a,b:Word);
Begin
   Setcolor(lightgreen);
   Rectangle(a+4,b+17,a+7,b+28);   Rectangle(a+5,b+18,a+6,b+27);
   Rectangle(a+8,b+14,a+11,b+30);  Rectangle(a+9,b+15,a+10,b+29);
   Rectangle(a+12,b+9,a+19,b+31);  Rectangle(a+13,b+10,a+18,b+30);
   Rectangle(a+14,b+11,a+17,b+29); Rectangle(a+15,b+12,a+16,b+28);
   Rectangle(a+20,b+7,a+23,b+30);  Rectangle(a+21,b+8,a+22,b+29);
   Rectangle(a+28,b+1,a+30,b+27);  Rectangle(a+24,b+4,a+27,b+29);
   Rectangle(a+25,b+5,a+26,b+28);  Line(a+29,b+2,a+29,b+26);
   Rectangle(a+31,b+23,a+33,b+1);  Line(a+32,b+2,a+32,b+22);
   Rectangle(a+34,b+1,a+35,b+19);  Rectangle(a+36,b+1,a+39,b+15);
   Rectangle(a+37,b+2,a+38,b+14);
   SetColor(red);
   Rectangle(a+12,b+18,a+15,b+25);  Rectangle(a+13,b+19,a+14,b+24);
   Rectangle(a+16,b+13,a+23,b+20);  Rectangle(a+17,b+14,a+22,b+19);
   Rectangle(a+18,b+15,a+21,b+18);  Rectangle(a+19,b+16,a+20,b+17);
   Rectangle(a+24,b+11,a+27,b+18);  Rectangle(a+25,b+12,a+26,b+17);
   Rectangle(a+28,b+8,a+31,b+15);   Rectangle(a+29,b+9,a+30,b+14);
   Rectangle(a+32,b+5,a+35,b+12);   Rectangle(a+33,b+6,a+34,b+11);
   SetColor(green);
   Rectangle(a+4,b+29,a+7,b+38);   Rectangle(a+5,b+30,a+6,b+37);
   Rectangle(a+8,b+31,a+9,b+46);   Rectangle(a+10,b+31,a+11,b+49);
   Rectangle(a+12,b+32,a+13,b+49); Rectangle(a+14,b+32,a+15,b+50);
   Rectangle(a+16,b+33,a+17,b+50); Rectangle(a+18,b+33,a+19,b+51);
   Rectangle(a+20,b+34,a+23,b+51); Rectangle(a+21,b+35,a+22,b+50);
   Rectangle(a+24,b+36,a+25,b+51); Rectangle(a+26,b+36,a+27,b+50);
   Rectangle(a+28,b+39,a+29,b+50); Rectangle(a+30,b+39,a+31,b+46);
   SetColor(magenta);
   Rectangle(a+5,b+32,a+8,b+35);   Rectangle(a+6,b+33,a+7,b+34);
   Rectangle(a+9,b+33,a+12,b+36);  Rectangle(a+10,b+34,a+11,b+35);
   Rectangle(a+11,b+45,a+14,b+48); Rectangle(a+12,b+46,a+13,b+47);
   Rectangle(a+16,b+37,a+19,b+42); Rectangle(a+17,b+38,a+18,b+41);
   Rectangle(a+20,b+37,a+23,b+45); Rectangle(a+21,b+38,a+22,b+44);
   Rectangle(a+24,b+40,a+27,b+45); Rectangle(a+25,b+41,a+26,b+44);

   Setcolor(lightgreen);
   Rectangle(a-5,b+17,a-8,b+28);   Rectangle(a-6,b+18,a-7,b+27);
   Rectangle(a-9,b+14,a-12,b+30);  Rectangle(a-10,b+15,a-11,b+29);
   Rectangle(a-13,b+9,a-20,b+31);  Rectangle(a-14,b+10,a-19,b+30);
   Rectangle(a-15,b+11,a-18,b+29); Rectangle(a-16,b+12,a-17,b+28);
   Rectangle(a-21,b+7,a-24,b+30);  Rectangle(a-22,b+8,a-23,b+29);
   Rectangle(a-29,b+1,a-31,b+27);  Rectangle(a-25,b+4,a-28,b+29);
   Rectangle(a-26,b+5,a-27,b+28);  Line(a-30,b+2,a-30,b+26);
   Rectangle(a-32,b+23,a-34,b+1);  Line(a-33,b+2,a-33,b+22);
   Rectangle(a-35,b+1,a-36,b+19);  Rectangle(a-37,b+1,a-40,b+15);
   Rectangle(a-38,b+2,a-39,b+14);
   SetColor(red);
   Rectangle(a-13,b+18,a-16,b+25);  Rectangle(a-14,b+19,a-15,b+24);
   Rectangle(a-17,b+13,a-24,b+20);  Rectangle(a-18,b+14,a-23,b+19);
   Rectangle(a-19,b+15,a-22,b+18);  Rectangle(a-20,b+16,a-21,b+17);
   Rectangle(a-25,b+11,a-28,b+18);  Rectangle(a-26,b+12,a-27,b+17);
   Rectangle(a-29,b+8,a-32,b+15);   Rectangle(a-30,b+9,a-31,b+14);
   Rectangle(a-33,b+5,a-36,b+12);   Rectangle(a-34,b+6,a-35,b+11);
   SetColor(green);
   Rectangle(a-5,b+29,a-8,b+38);   Rectangle(a-6,b+30,a-7,b+37);
   Rectangle(a-9,b+31,a-10,b+46);  Rectangle(a-11,b+31,a-12,b+49);
   Rectangle(a-13,b+32,a-14,b+49); Rectangle(a-15,b+32,a-16,b+50);
   Rectangle(a-17,b+33,a-18,b+50); Rectangle(a-19,b+33,a-20,b+51);
   Rectangle(a-21,b+34,a-24,b+51); Rectangle(a-22,b+35,a-23,b+50);
   Rectangle(a-25,b+36,a-26,b+51); Rectangle(a-27,b+36,a-28,b+50);
   Rectangle(a-29,b+39,a-30,b+50); Rectangle(a-31,b+39,a-32,b+46);
   SetColor(magenta);
   Rectangle(a-6,b+32,a-9,b+35);   Rectangle(a-7,b+33,a-8,b+34);
   Rectangle(a-10,b+33,a-13,b+36); Rectangle(a-11,b+34,a-12,b+35);
   Rectangle(a-12,b+45,a-15,b+48); Rectangle(a-13,b+46,a-14,b+47);
   Rectangle(a-17,b+37,a-20,b+42); Rectangle(a-18,b+38,a-19,b+41);
   Rectangle(a-21,b+37,a-24,b+45); Rectangle(a-22,b+38,a-23,b+44);
   Rectangle(a-25,b+40,a-28,b+45); Rectangle(a-26,b+41,a-27,b+44);
End;
Procedure three_quarters(a,b:Word);
Begin
   SetColor(lightgreen);
   Rectangle(a+4,b+17,a+6,b+28);   Line(a+5,b+18,a+5,b+27);
   Rectangle(a+7,b+14,a+9,b+30);   Line(a+8,b+15,a+8,b+29);
   Rectangle(a+10,b+9,a+15,b+31);  Rectangle(a+11,b+10,a+14,b+30);
   Rectangle(a+12,b+11,a+13,b+29); Rectangle(a+16,b+7,a+18,b+30);
   Line(a+17,b+8,a+17,b+30);       Rectangle(a+19,b+4,a+21,b+29);
   Line(a+20,b+5,a+20,b+28);       Rectangle(a+22,b+1,a+24,b+27);
   Line(a+23,b+2,a+23,b+26);       Rectangle(a+25,b+1,a+26,b+23);
   Line(a+27,b+1,a+27,b+19);       Rectangle(a+28,b+1,a+30,b+15);
   Line(a+29,b+1,a+29,b+15);
   SetColor(red);
   Rectangle(a+10,b+17,a+12,b+25); Line(a+11,b+18,a+11,b+24);
   Rectangle(a+13,b+12,a+18,b+20); Rectangle(a+14,b+13,a+17,b+19);
   Rectangle(a+15,b+14,a+16,b+18); Rectangle(a+19,b+10,a+21,b+18);
   Line(a+20,b+11,a+20,b+17);      Rectangle(a+22,b+7,a+24,b+15);
   Line(a+23,b+8,a+23,b+14);       Rectangle(a+25,b+4,a+27,b+12);
   Line(a+26,b+5,a+26,b+11);
   SetColor(green);
   Rectangle(a+4,b+29,a+6,b+38);   Line(a+5,b+30,a+5,b+37);
   Rectangle(a+7,b+31,a+9,b+49);   Line(a+8,b+32,a+8,b+48);
   Rectangle(a+10,b+32,a+11,b+49); Line(a+12,b+32,a+12,b+50);
   Rectangle(a+13,b+33,a+14,b+50); Line(a+15,b+33,a+15,b+51);
   Rectangle(a+16,b+34,a+18,b+51); Line(a+17,b+35,a+17,b+50);
   Rectangle(a+19,b+36,a+20,b+51); Line(a+21,b+36,a+21,b+50);
   Rectangle(a+22,b+39,a+23,b+50); Line(a+24,b+39,a+24,b+46);
   SetColor(magenta);
   Rectangle(a+5,b+32,a+7,b+35);   Line(a+6,b+33,a+6,b+34);
   Rectangle(a+8,b+33,a+10,b+36);  Line(a+9,b+34,a+9,b+35);
   Rectangle(a+8,b+44,a+10,b+48);  Line(a+9,b+45,a+9,b+47);
   Rectangle(a+13,b+37,a+15,b+42); Line(a+14,b+38,a+14,b+41);
   Rectangle(a+16,b+37,a+18,b+45); Line(a+17,b+38,a+17,b+44);
   Rectangle(a+19,b+40,a+21,b+45); Line(a+20,b+41,a+20,b+44);

   SetColor(lightgreen);
   Rectangle(a-5,b+17,a-7,b+28);   Line(a-6,b+18,a-6,b+27);
   Rectangle(a-8,b+14,a-10,b+30);   Line(a-9,b+15,a-9,b+29);
   Rectangle(a-11,b+9,a-16,b+31);  Rectangle(a-12,b+10,a-15,b+30);
   Rectangle(a-13,b+11,a-14,b+29); Rectangle(a-17,b+7,a-19,b+30);
   Line(a-18,b+8,a-18,b+30);       Rectangle(a-20,b+4,a-22,b+29);
   Line(a-21,b+5,a-21,b+28);       Rectangle(a-23,b+1,a-25,b+27);
   Line(a-24,b+2,a-24,b+26);       Rectangle(a-26,b+1,a-27,b+23);
   Line(a-28,b+1,a-28,b+19);       Rectangle(a-29,b+1,a-31,b+15);
   Line(a-30,b+1,a-30,b+15);
   SetColor(red);
   Rectangle(a-11,b+17,a-13,b+25); Line(a-12,b+18,a-12,b+24);
   Rectangle(a-14,b+12,a-19,b+20); Rectangle(a-15,b+13,a-18,b+19);
   Rectangle(a-16,b+14,a-17,b+18); Rectangle(a-20,b+10,a-22,b+18);
   Line(a-21,b+11,a-21,b+17);      Rectangle(a-23,b+7,a-25,b+15);
   Line(a-24,b+8,a-24,b+14);       Rectangle(a-26,b+4,a-28,b+12);
   Line(a-27,b+5,a-27,b+11);
   SetColor(green);
   Rectangle(a-5,b+29,a-7,b+38);   Line(a-6,b+30,a-6,b+37);
   Rectangle(a-8,b+31,a-10,b+49);   Line(a-9,b+32,a-9,b+48);
   Rectangle(a-11,b+32,a-12,b+49); Line(a-13,b+32,a-13,b+50);
   Rectangle(a-14,b+33,a-15,b+50); Line(a-16,b+33,a-16,b+51);
   Rectangle(a-17,b+34,a-19,b+51); Line(a-18,b+35,a-18,b+50);
   Rectangle(a-20,b+36,a-21,b+51); Line(a-22,b+36,a-22,b+50);
   Rectangle(a-23,b+39,a-24,b+50); Line(a-25,b+39,a-25,b+46);
   SetColor(magenta);
   Rectangle(a-6,b+32,a-8,b+35);   Line(a-7,b+33,a-7,b+34);
   Rectangle(a-9,b+33,a-11,b+36);  Line(a-10,b+34,a-10,b+35);
   Rectangle(a-9,b+44,a-11,b+48);  Line(a-10,b+45,a-10,b+47);
   Rectangle(a-14,b+37,a-16,b+42); Line(a-15,b+38,a-15,b+41);
   Rectangle(a-17,b+37,a-19,b+45); Line(a-18,b+38,a-18,b+44);
   Rectangle(a-20,b+40,a-22,b+45); Line(a-21,b+41,a-21,b+44)
End;
Procedure half(a,b:Word);
Begin
   SetColor(lightgreen);
   Rectangle(a+4,b+17,a+5,b+28);   Rectangle(a+6,b+14,a+7,b+30);
   Rectangle(a+8,b+9,a+11,b+31);   Rectangle(a+9,b+10,a+10,b+30);
   Rectangle(a+12,b+7,a+13,b+30);  Rectangle(a+14,b+4,a+15,b+29);
   Rectangle(a+16,b+1,a+17,b+27);  Line(a+18,b+1,a+18,b+23);
   Line(a+19,b+1,a+19,b+19);       Rectangle(a+20,b+1,a+21,b+15);
   SetColor(red);
   Rectangle(a+8,b+16,a+9,b+25);   Rectangle(a+10,b+11,a+13,b+20);
   Rectangle(a+11,b+12,a+12,b+19); Rectangle(a+14,b+9,a+15,b+18);
   Rectangle(a+16,b+6,a+17,b+15);  Rectangle(a+18,b+3,a+19,b+12);
   SetColor(green);
   Rectangle(a+4,b+29,a+5,b+38);   Line(a+6,b+31,a+6,b+46);
   Line(a+7,b+31,a+7,b+49);        Line(a+8,b+32,a+8,b+49);
   Line(a+9,b+32,a+9,b+50);        Line(a+10,b+33,a+10,b+50);
   Line(a+11,b+33,a+11,b+51);      Rectangle(a+12,b+34,a+13,b+51);
   Line(a+14,b+36,a+14,b+51);      Line(a+15,b+36,a+15,b+50);
   Line(a+16,b+39,a+16,b+50);      Line(a+17,b+39,a+17,b+46);
   SetColor(magenta);
   Rectangle(a+5,b+32,a+6,b+35);   Rectangle(a+7,b+33,a+8,b+36);
   Rectangle(a+8,b+45,a+9,b+48);   Rectangle(a+10,b+37,a+11,b+42);
   Rectangle(a+12,b+37,a+13,b+45); Rectangle(a+14,b+40,a+15,b+45);

   SetColor(lightgreen);
   Rectangle(a-5,b+17,a-6,b+28);   Rectangle(a-7,b+14,a-8,b+30);
   Rectangle(a-9,b+9,a-12,b+31);   Rectangle(a-10,b+10,a-11,b+30);
   Rectangle(a-13,b+7,a-14,b+30);  Rectangle(a-15,b+4,a-16,b+29);
   Rectangle(a-17,b+1,a-18,b+27);  Line(a-19,b+1,a-19,b+23);
   Line(a-20,b+1,a-20,b+19);       Rectangle(a-21,b+1,a-22,b+15);
   SetColor(red);
   Rectangle(a-9,b+16,a-10,b+25);  Rectangle(a-11,b+11,a-14,b+20);
   Rectangle(a-12,b+12,a-13,b+19); Rectangle(a-15,b+9,a-16,b+18);
   Rectangle(a-17,b+6,a-18,b+15);  Rectangle(a-19,b+3,a-20,b+12);
   SetColor(green);
   Rectangle(a-5,b+29,a-6,b+38);   Line(a-7,b+31,a-7,b+46);
   Line(a-8,b+31,a-8,b+49);        Line(a-9,b+32,a-9,b+49);
   Line(a-10,b+32,a-10,b+50);      Line(a-11,b+33,a-11,b+50);
   Line(a-12,b+33,a-12,b+51);      Rectangle(a-13,b+34,a-14,b+51);
   Line(a-15,b+36,a-15,b+51);      Line(a-16,b+36,a-16,b+50);
   Line(a-17,b+39,a-17,b+50);      Line(a-18,b+39,a-18,b+46);
   SetColor(magenta);
   Rectangle(a-6,b+32,a-7,b+35);   Rectangle(a-8,b+33,a-9,b+36);
   Rectangle(a-9,b+45,a-10,b+48);  Rectangle(a-11,b+37,a-12,b+42);
   Rectangle(a-13,b+37,a-14,b+45); Rectangle(a-15,b+40,a-16,b+45)
End;
Procedure quarter(a,b:Word);
Begin
   SetColor(lightgreen);
   Line(a+12,b+1,a+12,b+15);       PutPixel(a+11,b+1,2);
   Line(a+10,b+1,a+10,b+4);        Line(a+9,b+4,a+9,b+7);
   Line(a+8,b+7,a+8,b+9);          PutPixel(a+7,b+9,2);
   Line(a+6,b+9,a+6,b+14);         Line(a+5,b+14,a+5,b+30);
   Line(a+4,b+17,a+4,b+28);        Line(a+11,b+13,a+11,b+19);
   Line(a+10,b+16,a+10,b+24);      Line(a+9,b+18,a+9,b+29);
   Line(a+8,b+21,a+8,b+30);        Line(a+7,b+21,a+7,b+31);
   Line(a+6,b+26,a+6,b+31);
   SetColor(red);
   Line(a+11,b+2,a+11,b+12);       Line(a+10,b+5,a+10,b+15);
   Line(a+9,b+8,a+9,b+17);         Line(a+6,b+15,a+6,b+25);
   Rectangle(a+7,b+10,a+8,b+20);
   SetColor(green);
   Line(a+4,b+29,a+4,b+30);        PutPixel(a+5,b+31,2);
   Line(a+4,b+35,a+4,b+38);        Line(a+5,b+36,a+5,b+49);
   Line(a+6,b+32,a+6,b+50);        Line(a+7,b+33,a+7,b+51);
   Line(a+8,b+34,a+8,b+51);        Line(a+9,b+36,a+9,b+50);
   Line(a+10,b+39,a+10,b+46);
   SetColor(magenta);
   Line(a+4,b+31,a+4,b+34);        Line(a+5,b+32,a+5,b+35);
   Line(a+6,b+45,a+6,b+48);        Line(a+7,b+37,a+7,b+42);
   Line(a+8,b+37,a+8,b+45);        Line(a+9,b+40,a+9,b+45);
   SetColor(lightgreen);
   Line(a-13,b+1,a-13,b+15);       PutPixel(a-12,b+1,2);
   Line(a-11,b+1,a-11,b+4);        Line(a-10,b+4,a-10,b+7);
   Line(a-9,b+7,a-9,b+9);          PutPixel(a-8,b+9,2);
   Line(a-7,b+9,a-7,b+14);         Line(a-6,b+14,a-6,b+30);
   Line(a-5,b+17,a-5,b+28);        Line(a-12,b+13,a-12,b+19);
   Line(a-11,b+16,a-11,b+24);      Line(a-10,b+18,a-10,b+29);
   Line(a-9,b+21,a-9,b+30);        Line(a-8,b+21,a-8,b+31);
   Line(a-7,b+26,a-7,b+31);
   SetColor(red);
   Line(a-12,b+2,a-12,b+12);       Line(a-11,b+5,a-11,b+15);
   Line(a-10,b+8,a-10,b+17);       Line(a-7,b+15,a-7,b+25);
   Rectangle(a-8,b+10,a-9,b+20);
   SetColor(green);
   Line(a-5,b+29,a-5,b+30);        PutPixel(a-6,b+31,2);
   Line(a-5,b+35,a-5,b+38);        Line(a-6,b+36,a-6,b+49);
   Line(a-7,b+32,a-7,b+50);        Line(a-8,b+33,a-8,b+51);
   Line(a-9,b+34,a-9,b+51);        Line(a-10,b+36,a-10,b+50);
   Line(a-11,b+39,a-11,b+46);
   SetColor(magenta);
   Line(a-5,b+31,a-5,b+34);        Line(a-6,b+32,a-6,b+35);
   Line(a-7,b+45,a-7,b+48);        Line(a-8,b+37,a-8,b+42);
   Line(a-9,b+37,a-9,b+45);        Line(a-10,b+40,a-10,b+45)
End;
{---------------------------------MAIN PART----------------------------------}
Begin
   ClrScr;
   i:=0;
   grDriver:=Detect;
   InitGraph(grDriver,grMode ,'');
   ErrCode:=GraphResult;
   If ErrCode<>grOk Then Begin
      WriteLn('graph initialising error:', GraphErrorMsg(ErrCode));
      ReadLn;
      Exit
   End;
   Repeat
      Body(250,250);
      Quarter(250,250);
      Delay(Time);
      ClearDevice;
      Body(250,250);
      Half(250,250);
      Delay(Time);
      ClearDevice;
      Body(250,250);
      Three_Quarters(250,250);
      Delay(Time);
      ClearDevice;
      Body(250,250);
      Whole(250,250);
      Delay(Time);
      ClearDevice;
      Body(250,250);
      Three_Quarters(250,250);
      Delay(Time);
      ClearDevice;
      Body(250,250);
      Half(250,250);
      Delay(Time);
      ClearDevice
   Until KeyPressed;
   CloseGraph
End.
Hosted by uCoz