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.