Home » Archimedes archive » Acorn Computing » 1994 03.adf » 9403 » Reptiles/Reptiler
Reptiles/Reptiler
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn Computing » 1994 03.adf » 9403 |
Filename: | Reptiles/Reptiler |
Read OK: | ✔ |
File size: | 1AE4 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM Reptiler 20REM Create Escher "RepTiles" picture 30REM Jim Paterson 40REM (c) Acorn Computing 1994 50: 60DIM drawfile% &80000,transform% 23 70plength%=6000:DIM path% plength%-1 80DIM pathstart%(10,2),pathlength%(10,2),pathcol%(10,2) 90DIM path%(2):FOR I%=0 TO 2:path%(I%)=path%+I%*2000:NEXT 100PROCloaddata 110MODE15:OFF 120PROCcreate_image 130OSCLI("SAVE RepFile "+STR$~drawfile%+" "+STR$~P%) 140OSCLI("SETTYPE RepFile AFF") 150END 160: 170DATA parms,1500,90 180DATA page,A4,L 190DATA start,7,1,3 200DATA move,0,0 210DATA line,7,2 220DATA line,10,0 230DATA line,14,-8 240DATA line,11,-13 250DATA line,13,-15 260DATA line,19,-17 270DATA line,19,-15 280DATA line,17,-13 290DATA line,20,-10 300DATA line,25,-14 310DATA line,25,-18 320DATA line,27,-24 330DATA line,16,-21 340DATA line,18,-28 350DATA line,21,-27 360DATA line,30,-30 370DATA line,36,-39 380DATA line,40,-42 390DATA line,35,-44 400DATA line,27,-33 410DATA line,23,-35 420DATA line,19,-35 430DATA line,20,-40 440DATA line,16,-46 450DATA line,5,-41 460DATA line,11,-41 470DATA line,12,-37 480DATA line,8,-32 490DATA line,4,-29 500DATA line,2,-26 510DATA line,-2,-24 520DATA line,0,-30 530DATA line,-4,-32 540DATA line,-6,-28 550DATA line,-5,-26 560DATA line,-6,-22 570DATA line,-5,-18 580DATA line,0,-19 590DATA line,6,-25 600DATA line,0,-14 610DATA line,-10,-10 620DATA line,-13,-4 630DATA line,-15,-4 640DATA line,-17,-2 650DATA line,-15,2 660DATA line,-13,2 670DATA line,-8,-6 680DATA line,0,-10 690DATA line,2,-9 700DATA closed 710: 720DATA start,-1,-1,-1 730DATA move,18,-12 740DATA line,20,-14 750DATA move,19,-11 760DATA line,21,-13 770DATA move,10,-14 780DATA line,13,-15 790DATA move,19,-17 800DATA line,21,-19 810DATA move,19,-20 820DATA line,17,-20 830DATA line,16,-21 840DATA move,18,-28 850DATA line,15,-29 860DATA move,19,-35 870DATA line,19,-34 880DATA line,20,-32 890DATA move,35,-41 900DATA line,36,-43 910DATA move,36,-41 920DATA line,38,-43 930DATA move,8,-32 940DATA line,8,-30 950DATA move,-2,-24 960DATA line,-3,-22 970DATA move,-3,-30 980DATA line,-5,-31 990DATA move,-4,-28 1000DATA line,-5,-29 1010DATA move,6,-25 1020DATA line,10,-29 1030DATA move,0,-14 1040DATA line,-1,-12 1050DATA line,-4,-10 1060DATA move,0,-10 1070DATA line,4,-12 1080DATA move,-8,-6 1090DATA line,-9,-7 1100DATA move,-15,2 1110DATA line,-13,-1 1120DATA move,-16,0 1130DATA line,-14,-2 1140: 1150DATA move,9,-2 1160DATA line,10,-6 1170DATA line,10,-9 1180DATA line,8,-11 1190DATA move,6,-1 1200DATA line,4,-3 1210DATA line,4,-6 1220DATA line,5,-9 1230: 1240DATA move,5,-7 1250DATA curve,6,-8,6,-8,7,-12 1260DATA curve,8,-15,9,-19,10,-22 1270DATA curve,12,-28,14,-35,15,-40 1280DATA curve,15,-41,14,-42,13,-42 1290DATA move,8,-9 1300DATA curve,7,-9,7,-11,8,-13 1310DATA curve,9,-16,10,-18,11,-21 1320DATA curve,13,-27,15,-34,16,-40 1330DATA curve,16,-41,15,-42,14,-42 1340DATA open 1350: 1360DATA start,8,8,8 1370DATA move,10,-6 1380DATA curve,11,-7,11,-9,10,-9 1390DATA closed 1400DATA start,8,8,8 1410DATA move,4,-3 1420DATA curve,3,-3,3,-5,4,-6 1430DATA closed 1440: 1450DATA end 1460: 1470DEFPROCcreate_image 1480$drawfile%="Draw":drawfile%!4=201:drawfile%!8=0 1490$(drawfile%+12)="ArcDraw " 1500drawfile%!24=0:drawfile%!28=0 1510drawfile%!32=pagel%:drawfile%!36=pageh% 1520P%=drawfile%+40 1530M%=Dmax%/SIZE+1 1540FOR M=-M% TO M% 1550 FOR N=-M% TO M% 1560 X%=Xinc1%*M+Xinc2%*N:Y%=Yinc1%*M+Yinc2%*N 1570 IF X%>=Xmin% AND X%<=Xmax% AND Y%>=Ymin% AND Y%<=Ymax% THEN 1580 FOR J%=0 TO 2:PROCreptile(J%,X%,Y%):NEXT 1590 ENDIF 1600 NEXT 1610NEXT 1620ENDPROC 1630: 1640DEFPROCreptile(orient%,Xdisp%,Ydisp%) 1650P%!0=6:grouplength%=P%+4:groupstart%=P% 1660P%!8=0:P%!12=0:P%!16=0:P%!20=0 1670$(P%+24)=" ":P%+=36 1680FOR I%=0 TO pathno%-1 1690 P%!0=2:P1%=pathlength%(I%,orient%):P%!4=P1%+&28 1700 P%!8=0:P%!12=0:P%!16=0:P%!20=0 1710 P%!24=pathcol%(I%,orient%):P%!28=0:P%!32=0:P%!36=&20100042:P%+=40 1720 P0%=pathstart%(I%,orient%):K%=0 1730 REPEAT 1740 F%=P0%!K%:P%!K%=F%:K%+=4 1750 CASE F% OF 1760 WHEN 2,8:C%=1 1770 WHEN 6:C%=3 1780 WHEN 5,4,0:C%=0 1790 ENDCASE 1800 WHILE C%>0 1810 X1%=P0%!K%:P%!K%=X1%+Xdisp%:K%+=4 1820 Y1%=P0%!K%:P%!K%=Y1%+Ydisp%:K%+=4 1830 C%-=1 1840 ENDWHILE 1850 UNTIL K%=P1% 1860 IF pathcol%(I%,orient%)<>-1 THEN 1870 SYS "ColourTrans_SetGCOL",pathcol%(I%,orient%),0,0,0,0 1880 SYS "Draw_Fill",P%,0,0,0,0,0,0,0 1890 ENDIF 1900 SYS "ColourTrans_SetGCOL",0,0,0,0,0 1910 SYS "Draw_Stroke",P%,0,0,0 1920 P%+=P1% 1930NEXT 1940!grouplength%=P%-groupstart% 1950ENDPROC 1960: 1970DEFPROCloaddata 1980pathno%=0:P0%=path%(0):P1%=path%(1):P2%=path%(2):READ do$ 1990REPEAT 2000 CASE do$ OF 2010 WHEN "page":READ A$,B$:PROCpage(A$,B$) 2020 WHEN "parms":READ A,B:PROCparms(A,B) 2030 WHEN "start":READ A,B,C:PROCstart(A,B,C) 2040 WHEN "move":READ B,C:PROCmove(B*SX,(B+C+C)*SY) 2050 WHEN "line":READ B,C:PROCline(B*SX,(B+C+C)*SY) 2060 WHEN "curve":READ B,C,D,E,F,G 2070 PROCcurve(B*SX,(B+C+C)*SY,D*SX,(D+E+E)*SY,F*SX,(F+G+G)*SY) 2080 WHEN "closed":PROCclosed 2090 WHEN "open":PROCopen 2100 ENDCASE 2110 READ do$ 2120UNTIL do$="end" 2130ENDPROC 2140: 2150DEFFNcolour(col%) 2160LOCAL red%,grn%,blu% 2170red%=&CC:grn%=&CC:blu%=&CC 2180IF col%=-1 THEN =-1 2190IF col%= 8 THEN = 0 2200IF (col%AND1)>0 THEN red%=&FF 2210IF (col%AND2)>0 THEN grn%=&FF 2220IF (col%AND4)>0 THEN blu%=&FF 2230=(red%<<8)+(grn%<<16)+(blu%<<24) 2240: 2250DEFPROCstart(col0%,col1%,col2%) 2260pathstart%(pathno%,0)=P0%:pathcol%(pathno%,0)=FNcolour(col0%) 2270pathstart%(pathno%,1)=P1%:pathcol%(pathno%,1)=FNcolour(col1%) 2280pathstart%(pathno%,2)=P2%:pathcol%(pathno%,2)=FNcolour(col2%) 2290ENDPROC 2300: 2310DEFPROCmove(X,Y) 2320P0%!0=2:P0%!4=X*C0+Y*S0:P0%!8=X*S0-Y*C0:P0%+=12 2330P1%!0=2:P1%!4=X*C1+Y*S1:P1%!8=X*S1-Y*C1:P1%+=12 2340P2%!0=2:P2%!4=X*C2+Y*S2:P2%!8=X*S2-Y*C2:P2%+=12 2350ENDPROC 2360: 2370DEFPROCcurve(X0,Y0,X1,Y1,X2,Y2) 2380P0%!0=6:P0%!4=X0*C0+Y0*S0:P0%!8=X0*S0-Y0*C0 2390P1%!0=6:P1%!4=X0*C1+Y0*S1:P1%!8=X0*S1-Y0*C1 2400P2%!0=6:P2%!4=X0*C2+Y0*S2:P2%!8=X0*S2-Y0*C2 2410P0%!12=X1*C0+Y1*S0:P0%!16=X1*S0-Y1*C0 2420P1%!12=X1*C1+Y1*S1:P1%!16=X1*S1-Y1*C1 2430P2%!12=X1*C2+Y1*S2:P2%!16=X1*S2-Y1*C2 2440P0%!20=X2*C0+Y2*S0:P0%!24=X2*S0-Y2*C0 2450P1%!20=X2*C1+Y2*S1:P1%!24=X2*S1-Y2*C1 2460P2%!20=X2*C2+Y2*S2:P2%!24=X2*S2-Y2*C2 2470P0%+=28:P1%+=28:P2%+=28 2480ENDPROC 2490: 2500DEFPROCline(X,Y) 2510P0%!0=8:P0%!4=X*C0+Y*S0:P0%!8=X*S0-Y*C0:P0%+=12 2520P1%!0=8:P1%!4=X*C1+Y*S1:P1%!8=X*S1-Y*C1:P1%+=12 2530P2%!0=8:P2%!4=X*C2+Y*S2:P2%!8=X*S2-Y*C2:P2%+=12 2540ENDPROC 2550: 2560DEFPROCclosed 2570P0%!0=5:P0%!4=0:P0%+=8:P1%!0=5:P1%!4=0:P1%+=8:P2%!0=5:P2%!4=0:P2%+=8 2580pathlength%(pathno%,0)=P0%-pathstart%(pathno%,0) 2590pathlength%(pathno%,1)=P1%-pathstart%(pathno%,1) 2600pathlength%(pathno%,2)=P2%-pathstart%(pathno%,2):pathno%+=1 2610ENDPROC 2620: 2630DEFPROCopen 2640P0%!0=0:P0%+=4:P1%!0=0:P1%+=4:P2%!0=0:P2%+=4 2650pathlength%(pathno%,0)=P0%-pathstart%(pathno%,0) 2660pathlength%(pathno%,1)=P1%-pathstart%(pathno%,1) 2670pathlength%(pathno%,2)=P2%-pathstart%(pathno%,2):pathno%+=1 2680ENDPROC 2690: 2700DEFPROCpage(S$,O$) 2710LA5Xcm=20.5:LA5Ycm=14.5 2720CASE S$ OF 2730 WHEN "A0":X=LA5Ycm*8:Y=LA5Xxm*4 2740 WHEN "A1":X=LA5Xcm*4:Y=LA5Ycm*4 2750 WHEN "A2":X=LA5Ycm*4:Y=LA5Xcm*2 2760 WHEN "A3":X=LA5Xcm*2:Y=LA5Ycm*2 2770 WHEN "A4":X=LA5Ycm*2:Y=LA5Xcm*1 2780 WHEN "A5":X=LA5Xcm*1:Y=LA5Ycm*1 2790ENDCASE 2800IF O$="P" THEN SWAP X,Y 2810pagel%=X*180/2.54:pageh%=Y*180/2.54:pagel%=pagel%*256:pageh%=pageh%*256 2820Xmax%=pagel%+SIZE:Ymax%=pageh%+SIZE:Xmin%=-SIZE:Ymin%=-SIZE 2830Dmax%=SQR(Xmax%*Xmax%+Ymax%*Ymax%) 2840ENDPROC 2850: 2860DEFPROCparms(size%,angle%) 2870R3=SQR(3):SY=size%:SX=size%*R3:SIZE=SX*60 2880A0=RAD(angle%+0):A1=RAD(angle%+120):A2=RAD(angle%+240) 2890C0=COS(A0):S0=SIN(A0):C1=COS(A1):S1=SIN(A1):C2=COS(A2):S2=SIN(A2) 2900Xinc1%=SIZE*C0:Yinc1%=SIZE*S0 2910Xinc2%=SIZE*C1:Yinc2%=SIZE*S1 2920ENDPROC
� Reptiler &� Create Escher "RepTiles" picture � Jim Paterson (� (c) Acorn Computing 1994 2: <$� drawfile% &80000,transform% 23 F$plength%=6000:� path% plength%-1 P7� pathstart%(10,2),pathlength%(10,2),pathcol%(10,2) Z3� path%(2):� I%=0 � 2:path%(I%)=path%+I%*2000:� d �loaddata n �15:� x�create_image �+�("SAVE RepFile "+�~drawfile%+" "+�~P%) ��("SETTYPE RepFile AFF") �� �: �� parms,1500,90 �� page,A4,L �� start,7,1,3 �� move,0,0 �� line,7,2 �� line,10,0 �� line,14,-8 �� line,11,-13 �� line,13,-15 � line,19,-17 � line,19,-15 � line,17,-13 "� line,20,-10 ,� line,25,-14 6� line,25,-18 @� line,27,-24 J� line,16,-21 T� line,18,-28 ^� line,21,-27 h� line,30,-30 r� line,36,-39 |� line,40,-42 �� line,35,-44 �� line,27,-33 �� line,23,-35 �� line,19,-35 �� line,20,-40 �� line,16,-46 �� line,5,-41 �� line,11,-41 �� line,12,-37 �� line,8,-32 �� line,4,-29 �� line,2,-26 �� line,-2,-24 � line,0,-30 � line,-4,-32 � line,-6,-28 &� line,-5,-26 0� line,-6,-22 :� line,-5,-18 D� line,0,-19 N� line,6,-25 X� line,0,-14 b� line,-10,-10 l� line,-13,-4 v� line,-15,-4 �� line,-17,-2 �� line,-15,2 �� line,-13,2 �� line,-8,-6 �� line,0,-10 �� line,2,-9 �� closed �: �� start,-1,-1,-1 �� move,18,-12 �� line,20,-14 �� move,19,-11 �� line,21,-13 � move,10,-14 � line,13,-15 � move,19,-17 � line,21,-19 *� move,19,-20 4� line,17,-20 >� line,16,-21 H� move,18,-28 R� line,15,-29 \� move,19,-35 f� line,19,-34 p� line,20,-32 z� move,35,-41 �� line,36,-43 �� move,36,-41 �� line,38,-43 �� move,8,-32 �� line,8,-30 �� move,-2,-24 �� line,-3,-22 �� move,-3,-30 �� line,-5,-31 �� move,-4,-28 �� line,-5,-29 �� move,6,-25 �� line,10,-29 � move,0,-14 � line,-1,-12 � line,-4,-10 $� move,0,-10 .� line,4,-12 8� move,-8,-6 B� line,-9,-7 L� move,-15,2 V� line,-13,-1 `� move,-16,0 j� line,-14,-2 t: ~� move,9,-2 �� line,10,-6 �� line,10,-9 �� line,8,-11 �� move,6,-1 �� line,4,-3 �� line,4,-6 �� line,5,-9 �: �� move,5,-7 �� curve,6,-8,6,-8,7,-12 �� curve,8,-15,9,-19,10,-22 � � curve,12,-28,14,-35,15,-40 � curve,15,-41,14,-42,13,-42 � move,8,-9 � curve,7,-9,7,-11,8,-13 � curve,9,-16,10,-18,11,-21 ( � curve,13,-27,15,-34,16,-40 2 � curve,16,-41,15,-42,14,-42 < � open F: P� start,8,8,8 Z� move,10,-6 d� curve,11,-7,11,-9,10,-9 n� closed x� start,8,8,8 �� move,4,-3 �� curve,3,-3,3,-5,4,-6 �� closed �: � � end �: ���create_image �3$drawfile%="Draw":drawfile%!4=201:drawfile%!8=0 �"$(drawfile%+12)="ArcDraw " �!drawfile%!24=0:drawfile%!28=0 �+drawfile%!32=pagel%:drawfile%!36=pageh% �P%=drawfile%+40 �M%=Dmax%/SIZE+1 � M=-M% � M% � N=-M% � M% 1 X%=Xinc1%*M+Xinc2%*N:Y%=Yinc1%*M+Yinc2%*N "9 � X%>=Xmin% � X%<=Xmax% � Y%>=Ymin% � Y%<=Ymax% � ,) � J%=0 � 2:�reptile(J%,X%,Y%):� 6 � @ � J� T� ^: h$��reptile(orient%,Xdisp%,Ydisp%) r+P%!0=6:grouplength%=P%+4:groupstart%=P% |"P%!8=0:P%!12=0:P%!16=0:P%!20=0 �"$(P%+24)=" ":P%+=36 �� I%=0 � pathno%-1 �5 P%!0=2:P1%=pathlength%(I%,orient%):P%!4=P1%+&28 �$ P%!8=0:P%!12=0:P%!16=0:P%!20=0 �G P%!24=pathcol%(I%,orient%):P%!28=0:P%!32=0:P%!36=&20100042:P%+=40 �% P0%=pathstart%(I%,orient%):K%=0 � � � F%=P0%!K%:P%!K%=F%:K%+=4 � Ȏ F% � � � 2,8:C%=1 � � 6:C%=3 � � 5,4,0:C%=0 � � ȕ C%>0 + X1%=P0%!K%:P%!K%=X1%+Xdisp%:K%+=4 + Y1%=P0%!K%:P%!K%=Y1%+Ydisp%:K%+=4 & C%-=1 0 � : � K%=P1% D" � pathcol%(I%,orient%)<>-1 � N= ș "ColourTrans_SetGCOL",pathcol%(I%,orient%),0,0,0,0 X' ș "Draw_Fill",P%,0,0,0,0,0,0,0 b � l( ș "ColourTrans_SetGCOL",0,0,0,0,0 v ș "Draw_Stroke",P%,0,0,0 � P%+=P1% �� � !grouplength%=P%-groupstart% �� �: ���loaddata �:pathno%=0:P0%=path%(0):P1%=path%(1):P2%=path%(2):� do$ �� � Ȏ do$ � �% � "page":� A$,B$:�page(A$,B$) �# � "parms":� A,B:�parms(A,B) �' � "start":� A,B,C:�start(A,B,C) �- � "move":� B,C:�move(B*SX,(B+C+C)*SY) - � "line":� B,C:�line(B*SX,(B+C+C)*SY) � "curve":� B,C,D,E,F,G A �curve(B*SX,(B+C+C)*SY,D*SX,(D+E+E)*SY,F*SX,(F+G+G)*SY) � "closed":�closed * � "open":�open 4 � > � do$ H� do$="end" R� \: fݤcolour(col%) p� red%,grn%,blu% zred%=&CC:grn%=&CC:blu%=&CC �� col%=-1 � =-1 �� col%= 8 � = 0 �� (col%�1)>0 � red%=&FF �� (col%�2)>0 � grn%=&FF �� (col%�4)>0 � blu%=&FF �$=(red%<<8)+(grn%<<16)+(blu%<<24) �: ���start(col0%,col1%,col2%) �@pathstart%(pathno%,0)=P0%:pathcol%(pathno%,0)=�colour(col0%) �@pathstart%(pathno%,1)=P1%:pathcol%(pathno%,1)=�colour(col1%) �@pathstart%(pathno%,2)=P2%:pathcol%(pathno%,2)=�colour(col2%) �� �: ��move(X,Y) 3P0%!0=2:P0%!4=X*C0+Y*S0:P0%!8=X*S0-Y*C0:P0%+=12 3P1%!0=2:P1%!4=X*C1+Y*S1:P1%!8=X*S1-Y*C1:P1%+=12 $3P2%!0=2:P2%!4=X*C2+Y*S2:P2%!8=X*S2-Y*C2:P2%+=12 .� 8: B��curve(X0,Y0,X1,Y1,X2,Y2) L/P0%!0=6:P0%!4=X0*C0+Y0*S0:P0%!8=X0*S0-Y0*C0 V/P1%!0=6:P1%!4=X0*C1+Y0*S1:P1%!8=X0*S1-Y0*C1 `/P2%!0=6:P2%!4=X0*C2+Y0*S2:P2%!8=X0*S2-Y0*C2 j)P0%!12=X1*C0+Y1*S0:P0%!16=X1*S0-Y1*C0 t)P1%!12=X1*C1+Y1*S1:P1%!16=X1*S1-Y1*C1 ~)P2%!12=X1*C2+Y1*S2:P2%!16=X1*S2-Y1*C2 �)P0%!20=X2*C0+Y2*S0:P0%!24=X2*S0-Y2*C0 �)P1%!20=X2*C1+Y2*S1:P1%!24=X2*S1-Y2*C1 �)P2%!20=X2*C2+Y2*S2:P2%!24=X2*S2-Y2*C2 �P0%+=28:P1%+=28:P2%+=28 �� �: ���line(X,Y) �3P0%!0=8:P0%!4=X*C0+Y*S0:P0%!8=X*S0-Y*C0:P0%+=12 �3P1%!0=8:P1%!4=X*C1+Y*S1:P1%!8=X*S1-Y*C1:P1%+=12 �3P2%!0=8:P2%!4=X*C2+Y*S2:P2%!8=X*S2-Y*C2:P2%+=12 �� �: ��closed HP0%!0=5:P0%!4=0:P0%+=8:P1%!0=5:P1%!4=0:P1%+=8:P2%!0=5:P2%!4=0:P2%+=8 4pathlength%(pathno%,0)=P0%-pathstart%(pathno%,0) 4pathlength%(pathno%,1)=P1%-pathstart%(pathno%,1) (?pathlength%(pathno%,2)=P2%-pathstart%(pathno%,2):pathno%+=1 2� <: F ��open P0P0%!0=0:P0%+=4:P1%!0=0:P1%+=4:P2%!0=0:P2%+=4 Z4pathlength%(pathno%,0)=P0%-pathstart%(pathno%,0) d4pathlength%(pathno%,1)=P1%-pathstart%(pathno%,1) n?pathlength%(pathno%,2)=P2%-pathstart%(pathno%,2):pathno%+=1 x� �: ���page(S$,O$) �LA5Xcm=20.5:LA5Ycm=14.5 �Ȏ S$ � �" � "A0":X=LA5Ycm*8:Y=LA5Xxm*4 �" � "A1":X=LA5Xcm*4:Y=LA5Ycm*4 �" � "A2":X=LA5Ycm*4:Y=LA5Xcm*2 �" � "A3":X=LA5Xcm*2:Y=LA5Ycm*2 �" � "A4":X=LA5Ycm*2:Y=LA5Xcm*1 �" � "A5":X=LA5Xcm*1:Y=LA5Ycm*1 �� �� O$="P" � Ȕ X,Y �Kpagel%=X*180/2.54:pageh%=Y*180/2.54:pagel%=pagel%*256:pageh%=pageh%*256 ?Xmax%=pagel%+SIZE:Ymax%=pageh%+SIZE:Xmin%=-SIZE:Ymin%=-SIZE $Dmax%=�(Xmax%*Xmax%+Ymax%*Ymax%) � ": ,��parms(size%,angle%) 6+R3=�(3):SY=size%:SX=size%*R3:SIZE=SX*60 @4A0=�(angle%+0):A1=�(angle%+120):A2=�(angle%+240) J9C0=�(A0):S0=�(A0):C1=�(A1):S1=�(A1):C2=�(A2):S2=�(A2) T!Xinc1%=SIZE*C0:Yinc1%=SIZE*S0 ^!Xinc2%=SIZE*C1:Yinc2%=SIZE*S1 h� �
00000000 0d 00 0a 0e f4 20 52 65 70 74 69 6c 65 72 0d 00 |..... Reptiler..| 00000010 14 26 f4 20 43 72 65 61 74 65 20 45 73 63 68 65 |.&. Create Esche| 00000020 72 20 22 52 65 70 54 69 6c 65 73 22 20 70 69 63 |r "RepTiles" pic| 00000030 74 75 72 65 0d 00 1e 12 f4 20 4a 69 6d 20 50 61 |ture..... Jim Pa| 00000040 74 65 72 73 6f 6e 0d 00 28 1e f4 20 28 63 29 20 |terson..(.. (c) | 00000050 41 63 6f 72 6e 20 43 6f 6d 70 75 74 69 6e 67 20 |Acorn Computing | 00000060 31 39 39 34 0d 00 32 05 3a 0d 00 3c 24 de 20 64 |1994..2.:..<$. d| 00000070 72 61 77 66 69 6c 65 25 20 26 38 30 30 30 30 2c |rawfile% &80000,| 00000080 74 72 61 6e 73 66 6f 72 6d 25 20 32 33 0d 00 46 |transform% 23..F| 00000090 24 70 6c 65 6e 67 74 68 25 3d 36 30 30 30 3a de |$plength%=6000:.| 000000a0 20 70 61 74 68 25 20 70 6c 65 6e 67 74 68 25 2d | path% plength%-| 000000b0 31 0d 00 50 37 de 20 70 61 74 68 73 74 61 72 74 |1..P7. pathstart| 000000c0 25 28 31 30 2c 32 29 2c 70 61 74 68 6c 65 6e 67 |%(10,2),pathleng| 000000d0 74 68 25 28 31 30 2c 32 29 2c 70 61 74 68 63 6f |th%(10,2),pathco| 000000e0 6c 25 28 31 30 2c 32 29 0d 00 5a 33 de 20 70 61 |l%(10,2)..Z3. pa| 000000f0 74 68 25 28 32 29 3a e3 20 49 25 3d 30 20 b8 20 |th%(2):. I%=0 . | 00000100 32 3a 70 61 74 68 25 28 49 25 29 3d 70 61 74 68 |2:path%(I%)=path| 00000110 25 2b 49 25 2a 32 30 30 30 3a ed 0d 00 64 0d f2 |%+I%*2000:...d..| 00000120 6c 6f 61 64 64 61 74 61 0d 00 6e 09 eb 31 35 3a |loaddata..n..15:| 00000130 87 0d 00 78 11 f2 63 72 65 61 74 65 5f 69 6d 61 |...x..create_ima| 00000140 67 65 0d 00 82 2b ff 28 22 53 41 56 45 20 52 65 |ge...+.("SAVE Re| 00000150 70 46 69 6c 65 20 22 2b c3 7e 64 72 61 77 66 69 |pFile "+.~drawfi| 00000160 6c 65 25 2b 22 20 22 2b c3 7e 50 25 29 0d 00 8c |le%+" "+.~P%)...| 00000170 1c ff 28 22 53 45 54 54 59 50 45 20 52 65 70 46 |..("SETTYPE RepF| 00000180 69 6c 65 20 41 46 46 22 29 0d 00 96 05 e0 0d 00 |ile AFF").......| 00000190 a0 05 3a 0d 00 aa 13 dc 20 70 61 72 6d 73 2c 31 |..:..... parms,1| 000001a0 35 30 30 2c 39 30 0d 00 b4 0f dc 20 70 61 67 65 |500,90..... page| 000001b0 2c 41 34 2c 4c 0d 00 be 11 dc 20 73 74 61 72 74 |,A4,L..... start| 000001c0 2c 37 2c 31 2c 33 0d 00 c8 0e dc 20 6d 6f 76 65 |,7,1,3..... move| 000001d0 2c 30 2c 30 0d 00 d2 0e dc 20 6c 69 6e 65 2c 37 |,0,0..... line,7| 000001e0 2c 32 0d 00 dc 0f dc 20 6c 69 6e 65 2c 31 30 2c |,2..... line,10,| 000001f0 30 0d 00 e6 10 dc 20 6c 69 6e 65 2c 31 34 2c 2d |0..... line,14,-| 00000200 38 0d 00 f0 11 dc 20 6c 69 6e 65 2c 31 31 2c 2d |8..... line,11,-| 00000210 31 33 0d 00 fa 11 dc 20 6c 69 6e 65 2c 31 33 2c |13..... line,13,| 00000220 2d 31 35 0d 01 04 11 dc 20 6c 69 6e 65 2c 31 39 |-15..... line,19| 00000230 2c 2d 31 37 0d 01 0e 11 dc 20 6c 69 6e 65 2c 31 |,-17..... line,1| 00000240 39 2c 2d 31 35 0d 01 18 11 dc 20 6c 69 6e 65 2c |9,-15..... line,| 00000250 31 37 2c 2d 31 33 0d 01 22 11 dc 20 6c 69 6e 65 |17,-13..".. line| 00000260 2c 32 30 2c 2d 31 30 0d 01 2c 11 dc 20 6c 69 6e |,20,-10..,.. lin| 00000270 65 2c 32 35 2c 2d 31 34 0d 01 36 11 dc 20 6c 69 |e,25,-14..6.. li| 00000280 6e 65 2c 32 35 2c 2d 31 38 0d 01 40 11 dc 20 6c |ne,25,-18..@.. l| 00000290 69 6e 65 2c 32 37 2c 2d 32 34 0d 01 4a 11 dc 20 |ine,27,-24..J.. | 000002a0 6c 69 6e 65 2c 31 36 2c 2d 32 31 0d 01 54 11 dc |line,16,-21..T..| 000002b0 20 6c 69 6e 65 2c 31 38 2c 2d 32 38 0d 01 5e 11 | line,18,-28..^.| 000002c0 dc 20 6c 69 6e 65 2c 32 31 2c 2d 32 37 0d 01 68 |. line,21,-27..h| 000002d0 11 dc 20 6c 69 6e 65 2c 33 30 2c 2d 33 30 0d 01 |.. line,30,-30..| 000002e0 72 11 dc 20 6c 69 6e 65 2c 33 36 2c 2d 33 39 0d |r.. line,36,-39.| 000002f0 01 7c 11 dc 20 6c 69 6e 65 2c 34 30 2c 2d 34 32 |.|.. line,40,-42| 00000300 0d 01 86 11 dc 20 6c 69 6e 65 2c 33 35 2c 2d 34 |..... line,35,-4| 00000310 34 0d 01 90 11 dc 20 6c 69 6e 65 2c 32 37 2c 2d |4..... line,27,-| 00000320 33 33 0d 01 9a 11 dc 20 6c 69 6e 65 2c 32 33 2c |33..... line,23,| 00000330 2d 33 35 0d 01 a4 11 dc 20 6c 69 6e 65 2c 31 39 |-35..... line,19| 00000340 2c 2d 33 35 0d 01 ae 11 dc 20 6c 69 6e 65 2c 32 |,-35..... line,2| 00000350 30 2c 2d 34 30 0d 01 b8 11 dc 20 6c 69 6e 65 2c |0,-40..... line,| 00000360 31 36 2c 2d 34 36 0d 01 c2 10 dc 20 6c 69 6e 65 |16,-46..... line| 00000370 2c 35 2c 2d 34 31 0d 01 cc 11 dc 20 6c 69 6e 65 |,5,-41..... line| 00000380 2c 31 31 2c 2d 34 31 0d 01 d6 11 dc 20 6c 69 6e |,11,-41..... lin| 00000390 65 2c 31 32 2c 2d 33 37 0d 01 e0 10 dc 20 6c 69 |e,12,-37..... li| 000003a0 6e 65 2c 38 2c 2d 33 32 0d 01 ea 10 dc 20 6c 69 |ne,8,-32..... li| 000003b0 6e 65 2c 34 2c 2d 32 39 0d 01 f4 10 dc 20 6c 69 |ne,4,-29..... li| 000003c0 6e 65 2c 32 2c 2d 32 36 0d 01 fe 11 dc 20 6c 69 |ne,2,-26..... li| 000003d0 6e 65 2c 2d 32 2c 2d 32 34 0d 02 08 10 dc 20 6c |ne,-2,-24..... l| 000003e0 69 6e 65 2c 30 2c 2d 33 30 0d 02 12 11 dc 20 6c |ine,0,-30..... l| 000003f0 69 6e 65 2c 2d 34 2c 2d 33 32 0d 02 1c 11 dc 20 |ine,-4,-32..... | 00000400 6c 69 6e 65 2c 2d 36 2c 2d 32 38 0d 02 26 11 dc |line,-6,-28..&..| 00000410 20 6c 69 6e 65 2c 2d 35 2c 2d 32 36 0d 02 30 11 | line,-5,-26..0.| 00000420 dc 20 6c 69 6e 65 2c 2d 36 2c 2d 32 32 0d 02 3a |. line,-6,-22..:| 00000430 11 dc 20 6c 69 6e 65 2c 2d 35 2c 2d 31 38 0d 02 |.. line,-5,-18..| 00000440 44 10 dc 20 6c 69 6e 65 2c 30 2c 2d 31 39 0d 02 |D.. line,0,-19..| 00000450 4e 10 dc 20 6c 69 6e 65 2c 36 2c 2d 32 35 0d 02 |N.. line,6,-25..| 00000460 58 10 dc 20 6c 69 6e 65 2c 30 2c 2d 31 34 0d 02 |X.. line,0,-14..| 00000470 62 12 dc 20 6c 69 6e 65 2c 2d 31 30 2c 2d 31 30 |b.. line,-10,-10| 00000480 0d 02 6c 11 dc 20 6c 69 6e 65 2c 2d 31 33 2c 2d |..l.. line,-13,-| 00000490 34 0d 02 76 11 dc 20 6c 69 6e 65 2c 2d 31 35 2c |4..v.. line,-15,| 000004a0 2d 34 0d 02 80 11 dc 20 6c 69 6e 65 2c 2d 31 37 |-4..... line,-17| 000004b0 2c 2d 32 0d 02 8a 10 dc 20 6c 69 6e 65 2c 2d 31 |,-2..... line,-1| 000004c0 35 2c 32 0d 02 94 10 dc 20 6c 69 6e 65 2c 2d 31 |5,2..... line,-1| 000004d0 33 2c 32 0d 02 9e 10 dc 20 6c 69 6e 65 2c 2d 38 |3,2..... line,-8| 000004e0 2c 2d 36 0d 02 a8 10 dc 20 6c 69 6e 65 2c 30 2c |,-6..... line,0,| 000004f0 2d 31 30 0d 02 b2 0f dc 20 6c 69 6e 65 2c 32 2c |-10..... line,2,| 00000500 2d 39 0d 02 bc 0c dc 20 63 6c 6f 73 65 64 0d 02 |-9..... closed..| 00000510 c6 05 3a 0d 02 d0 14 dc 20 73 74 61 72 74 2c 2d |..:..... start,-| 00000520 31 2c 2d 31 2c 2d 31 0d 02 da 11 dc 20 6d 6f 76 |1,-1,-1..... mov| 00000530 65 2c 31 38 2c 2d 31 32 0d 02 e4 11 dc 20 6c 69 |e,18,-12..... li| 00000540 6e 65 2c 32 30 2c 2d 31 34 0d 02 ee 11 dc 20 6d |ne,20,-14..... m| 00000550 6f 76 65 2c 31 39 2c 2d 31 31 0d 02 f8 11 dc 20 |ove,19,-11..... | 00000560 6c 69 6e 65 2c 32 31 2c 2d 31 33 0d 03 02 11 dc |line,21,-13.....| 00000570 20 6d 6f 76 65 2c 31 30 2c 2d 31 34 0d 03 0c 11 | move,10,-14....| 00000580 dc 20 6c 69 6e 65 2c 31 33 2c 2d 31 35 0d 03 16 |. line,13,-15...| 00000590 11 dc 20 6d 6f 76 65 2c 31 39 2c 2d 31 37 0d 03 |.. move,19,-17..| 000005a0 20 11 dc 20 6c 69 6e 65 2c 32 31 2c 2d 31 39 0d | .. line,21,-19.| 000005b0 03 2a 11 dc 20 6d 6f 76 65 2c 31 39 2c 2d 32 30 |.*.. move,19,-20| 000005c0 0d 03 34 11 dc 20 6c 69 6e 65 2c 31 37 2c 2d 32 |..4.. line,17,-2| 000005d0 30 0d 03 3e 11 dc 20 6c 69 6e 65 2c 31 36 2c 2d |0..>.. line,16,-| 000005e0 32 31 0d 03 48 11 dc 20 6d 6f 76 65 2c 31 38 2c |21..H.. move,18,| 000005f0 2d 32 38 0d 03 52 11 dc 20 6c 69 6e 65 2c 31 35 |-28..R.. line,15| 00000600 2c 2d 32 39 0d 03 5c 11 dc 20 6d 6f 76 65 2c 31 |,-29..\.. move,1| 00000610 39 2c 2d 33 35 0d 03 66 11 dc 20 6c 69 6e 65 2c |9,-35..f.. line,| 00000620 31 39 2c 2d 33 34 0d 03 70 11 dc 20 6c 69 6e 65 |19,-34..p.. line| 00000630 2c 32 30 2c 2d 33 32 0d 03 7a 11 dc 20 6d 6f 76 |,20,-32..z.. mov| 00000640 65 2c 33 35 2c 2d 34 31 0d 03 84 11 dc 20 6c 69 |e,35,-41..... li| 00000650 6e 65 2c 33 36 2c 2d 34 33 0d 03 8e 11 dc 20 6d |ne,36,-43..... m| 00000660 6f 76 65 2c 33 36 2c 2d 34 31 0d 03 98 11 dc 20 |ove,36,-41..... | 00000670 6c 69 6e 65 2c 33 38 2c 2d 34 33 0d 03 a2 10 dc |line,38,-43.....| 00000680 20 6d 6f 76 65 2c 38 2c 2d 33 32 0d 03 ac 10 dc | move,8,-32.....| 00000690 20 6c 69 6e 65 2c 38 2c 2d 33 30 0d 03 b6 11 dc | line,8,-30.....| 000006a0 20 6d 6f 76 65 2c 2d 32 2c 2d 32 34 0d 03 c0 11 | move,-2,-24....| 000006b0 dc 20 6c 69 6e 65 2c 2d 33 2c 2d 32 32 0d 03 ca |. line,-3,-22...| 000006c0 11 dc 20 6d 6f 76 65 2c 2d 33 2c 2d 33 30 0d 03 |.. move,-3,-30..| 000006d0 d4 11 dc 20 6c 69 6e 65 2c 2d 35 2c 2d 33 31 0d |... line,-5,-31.| 000006e0 03 de 11 dc 20 6d 6f 76 65 2c 2d 34 2c 2d 32 38 |.... move,-4,-28| 000006f0 0d 03 e8 11 dc 20 6c 69 6e 65 2c 2d 35 2c 2d 32 |..... line,-5,-2| 00000700 39 0d 03 f2 10 dc 20 6d 6f 76 65 2c 36 2c 2d 32 |9..... move,6,-2| 00000710 35 0d 03 fc 11 dc 20 6c 69 6e 65 2c 31 30 2c 2d |5..... line,10,-| 00000720 32 39 0d 04 06 10 dc 20 6d 6f 76 65 2c 30 2c 2d |29..... move,0,-| 00000730 31 34 0d 04 10 11 dc 20 6c 69 6e 65 2c 2d 31 2c |14..... line,-1,| 00000740 2d 31 32 0d 04 1a 11 dc 20 6c 69 6e 65 2c 2d 34 |-12..... line,-4| 00000750 2c 2d 31 30 0d 04 24 10 dc 20 6d 6f 76 65 2c 30 |,-10..$.. move,0| 00000760 2c 2d 31 30 0d 04 2e 10 dc 20 6c 69 6e 65 2c 34 |,-10..... line,4| 00000770 2c 2d 31 32 0d 04 38 10 dc 20 6d 6f 76 65 2c 2d |,-12..8.. move,-| 00000780 38 2c 2d 36 0d 04 42 10 dc 20 6c 69 6e 65 2c 2d |8,-6..B.. line,-| 00000790 39 2c 2d 37 0d 04 4c 10 dc 20 6d 6f 76 65 2c 2d |9,-7..L.. move,-| 000007a0 31 35 2c 32 0d 04 56 11 dc 20 6c 69 6e 65 2c 2d |15,2..V.. line,-| 000007b0 31 33 2c 2d 31 0d 04 60 10 dc 20 6d 6f 76 65 2c |13,-1..`.. move,| 000007c0 2d 31 36 2c 30 0d 04 6a 11 dc 20 6c 69 6e 65 2c |-16,0..j.. line,| 000007d0 2d 31 34 2c 2d 32 0d 04 74 05 3a 0d 04 7e 0f dc |-14,-2..t.:..~..| 000007e0 20 6d 6f 76 65 2c 39 2c 2d 32 0d 04 88 10 dc 20 | move,9,-2..... | 000007f0 6c 69 6e 65 2c 31 30 2c 2d 36 0d 04 92 10 dc 20 |line,10,-6..... | 00000800 6c 69 6e 65 2c 31 30 2c 2d 39 0d 04 9c 10 dc 20 |line,10,-9..... | 00000810 6c 69 6e 65 2c 38 2c 2d 31 31 0d 04 a6 0f dc 20 |line,8,-11..... | 00000820 6d 6f 76 65 2c 36 2c 2d 31 0d 04 b0 0f dc 20 6c |move,6,-1..... l| 00000830 69 6e 65 2c 34 2c 2d 33 0d 04 ba 0f dc 20 6c 69 |ine,4,-3..... li| 00000840 6e 65 2c 34 2c 2d 36 0d 04 c4 0f dc 20 6c 69 6e |ne,4,-6..... lin| 00000850 65 2c 35 2c 2d 39 0d 04 ce 05 3a 0d 04 d8 0f dc |e,5,-9....:.....| 00000860 20 6d 6f 76 65 2c 35 2c 2d 37 0d 04 e2 1b dc 20 | move,5,-7..... | 00000870 63 75 72 76 65 2c 36 2c 2d 38 2c 36 2c 2d 38 2c |curve,6,-8,6,-8,| 00000880 37 2c 2d 31 32 0d 04 ec 1e dc 20 63 75 72 76 65 |7,-12..... curve| 00000890 2c 38 2c 2d 31 35 2c 39 2c 2d 31 39 2c 31 30 2c |,8,-15,9,-19,10,| 000008a0 2d 32 32 0d 04 f6 20 dc 20 63 75 72 76 65 2c 31 |-22... . curve,1| 000008b0 32 2c 2d 32 38 2c 31 34 2c 2d 33 35 2c 31 35 2c |2,-28,14,-35,15,| 000008c0 2d 34 30 0d 05 00 20 dc 20 63 75 72 76 65 2c 31 |-40... . curve,1| 000008d0 35 2c 2d 34 31 2c 31 34 2c 2d 34 32 2c 31 33 2c |5,-41,14,-42,13,| 000008e0 2d 34 32 0d 05 0a 0f dc 20 6d 6f 76 65 2c 38 2c |-42..... move,8,| 000008f0 2d 39 0d 05 14 1c dc 20 63 75 72 76 65 2c 37 2c |-9..... curve,7,| 00000900 2d 39 2c 37 2c 2d 31 31 2c 38 2c 2d 31 33 0d 05 |-9,7,-11,8,-13..| 00000910 1e 1f dc 20 63 75 72 76 65 2c 39 2c 2d 31 36 2c |... curve,9,-16,| 00000920 31 30 2c 2d 31 38 2c 31 31 2c 2d 32 31 0d 05 28 |10,-18,11,-21..(| 00000930 20 dc 20 63 75 72 76 65 2c 31 33 2c 2d 32 37 2c | . curve,13,-27,| 00000940 31 35 2c 2d 33 34 2c 31 36 2c 2d 34 30 0d 05 32 |15,-34,16,-40..2| 00000950 20 dc 20 63 75 72 76 65 2c 31 36 2c 2d 34 31 2c | . curve,16,-41,| 00000960 31 35 2c 2d 34 32 2c 31 34 2c 2d 34 32 0d 05 3c |15,-42,14,-42..<| 00000970 0a dc 20 6f 70 65 6e 0d 05 46 05 3a 0d 05 50 11 |.. open..F.:..P.| 00000980 dc 20 73 74 61 72 74 2c 38 2c 38 2c 38 0d 05 5a |. start,8,8,8..Z| 00000990 10 dc 20 6d 6f 76 65 2c 31 30 2c 2d 36 0d 05 64 |.. move,10,-6..d| 000009a0 1d dc 20 63 75 72 76 65 2c 31 31 2c 2d 37 2c 31 |.. curve,11,-7,1| 000009b0 31 2c 2d 39 2c 31 30 2c 2d 39 0d 05 6e 0c dc 20 |1,-9,10,-9..n.. | 000009c0 63 6c 6f 73 65 64 0d 05 78 11 dc 20 73 74 61 72 |closed..x.. star| 000009d0 74 2c 38 2c 38 2c 38 0d 05 82 0f dc 20 6d 6f 76 |t,8,8,8..... mov| 000009e0 65 2c 34 2c 2d 33 0d 05 8c 1a dc 20 63 75 72 76 |e,4,-3..... curv| 000009f0 65 2c 33 2c 2d 33 2c 33 2c 2d 35 2c 34 2c 2d 36 |e,3,-3,3,-5,4,-6| 00000a00 0d 05 96 0c dc 20 63 6c 6f 73 65 64 0d 05 a0 05 |..... closed....| 00000a10 3a 0d 05 aa 09 dc 20 65 6e 64 0d 05 b4 05 3a 0d |:..... end....:.| 00000a20 05 be 12 dd f2 63 72 65 61 74 65 5f 69 6d 61 67 |.....create_imag| 00000a30 65 0d 05 c8 33 24 64 72 61 77 66 69 6c 65 25 3d |e...3$drawfile%=| 00000a40 22 44 72 61 77 22 3a 64 72 61 77 66 69 6c 65 25 |"Draw":drawfile%| 00000a50 21 34 3d 32 30 31 3a 64 72 61 77 66 69 6c 65 25 |!4=201:drawfile%| 00000a60 21 38 3d 30 0d 05 d2 22 24 28 64 72 61 77 66 69 |!8=0..."$(drawfi| 00000a70 6c 65 25 2b 31 32 29 3d 22 41 72 63 44 72 61 77 |le%+12)="ArcDraw| 00000a80 20 20 20 20 20 22 0d 05 dc 21 64 72 61 77 66 69 | "...!drawfi| 00000a90 6c 65 25 21 32 34 3d 30 3a 64 72 61 77 66 69 6c |le%!24=0:drawfil| 00000aa0 65 25 21 32 38 3d 30 0d 05 e6 2b 64 72 61 77 66 |e%!28=0...+drawf| 00000ab0 69 6c 65 25 21 33 32 3d 70 61 67 65 6c 25 3a 64 |ile%!32=pagel%:d| 00000ac0 72 61 77 66 69 6c 65 25 21 33 36 3d 70 61 67 65 |rawfile%!36=page| 00000ad0 68 25 0d 05 f0 13 50 25 3d 64 72 61 77 66 69 6c |h%....P%=drawfil| 00000ae0 65 25 2b 34 30 0d 05 fa 13 4d 25 3d 44 6d 61 78 |e%+40....M%=Dmax| 00000af0 25 2f 53 49 5a 45 2b 31 0d 06 04 10 e3 20 4d 3d |%/SIZE+1..... M=| 00000b00 2d 4d 25 20 b8 20 4d 25 0d 06 0e 12 20 20 e3 20 |-M% . M%.... . | 00000b10 4e 3d 2d 4d 25 20 b8 20 4d 25 0d 06 18 31 20 20 |N=-M% . M%...1 | 00000b20 20 20 58 25 3d 58 69 6e 63 31 25 2a 4d 2b 58 69 | X%=Xinc1%*M+Xi| 00000b30 6e 63 32 25 2a 4e 3a 59 25 3d 59 69 6e 63 31 25 |nc2%*N:Y%=Yinc1%| 00000b40 2a 4d 2b 59 69 6e 63 32 25 2a 4e 0d 06 22 39 20 |*M+Yinc2%*N.."9 | 00000b50 20 20 20 e7 20 58 25 3e 3d 58 6d 69 6e 25 20 80 | . X%>=Xmin% .| 00000b60 20 58 25 3c 3d 58 6d 61 78 25 20 80 20 59 25 3e | X%<=Xmax% . Y%>| 00000b70 3d 59 6d 69 6e 25 20 80 20 59 25 3c 3d 59 6d 61 |=Ymin% . Y%<=Yma| 00000b80 78 25 20 8c 0d 06 2c 29 20 20 20 20 20 20 e3 20 |x% ...,) . | 00000b90 4a 25 3d 30 20 b8 20 32 3a f2 72 65 70 74 69 6c |J%=0 . 2:.reptil| 00000ba0 65 28 4a 25 2c 58 25 2c 59 25 29 3a ed 0d 06 36 |e(J%,X%,Y%):...6| 00000bb0 09 20 20 20 20 cd 0d 06 40 07 20 20 ed 0d 06 4a |. ...@. ...J| 00000bc0 05 ed 0d 06 54 05 e1 0d 06 5e 05 3a 0d 06 68 24 |....T....^.:..h$| 00000bd0 dd f2 72 65 70 74 69 6c 65 28 6f 72 69 65 6e 74 |..reptile(orient| 00000be0 25 2c 58 64 69 73 70 25 2c 59 64 69 73 70 25 29 |%,Xdisp%,Ydisp%)| 00000bf0 0d 06 72 2b 50 25 21 30 3d 36 3a 67 72 6f 75 70 |..r+P%!0=6:group| 00000c00 6c 65 6e 67 74 68 25 3d 50 25 2b 34 3a 67 72 6f |length%=P%+4:gro| 00000c10 75 70 73 74 61 72 74 25 3d 50 25 0d 06 7c 22 50 |upstart%=P%..|"P| 00000c20 25 21 38 3d 30 3a 50 25 21 31 32 3d 30 3a 50 25 |%!8=0:P%!12=0:P%| 00000c30 21 31 36 3d 30 3a 50 25 21 32 30 3d 30 0d 06 86 |!16=0:P%!20=0...| 00000c40 22 24 28 50 25 2b 32 34 29 3d 22 20 20 20 20 20 |"$(P%+24)=" | 00000c50 20 20 20 20 20 20 20 22 3a 50 25 2b 3d 33 36 0d | ":P%+=36.| 00000c60 06 90 16 e3 20 49 25 3d 30 20 b8 20 70 61 74 68 |.... I%=0 . path| 00000c70 6e 6f 25 2d 31 0d 06 9a 35 20 20 50 25 21 30 3d |no%-1...5 P%!0=| 00000c80 32 3a 50 31 25 3d 70 61 74 68 6c 65 6e 67 74 68 |2:P1%=pathlength| 00000c90 25 28 49 25 2c 6f 72 69 65 6e 74 25 29 3a 50 25 |%(I%,orient%):P%| 00000ca0 21 34 3d 50 31 25 2b 26 32 38 0d 06 a4 24 20 20 |!4=P1%+&28...$ | 00000cb0 50 25 21 38 3d 30 3a 50 25 21 31 32 3d 30 3a 50 |P%!8=0:P%!12=0:P| 00000cc0 25 21 31 36 3d 30 3a 50 25 21 32 30 3d 30 0d 06 |%!16=0:P%!20=0..| 00000cd0 ae 47 20 20 50 25 21 32 34 3d 70 61 74 68 63 6f |.G P%!24=pathco| 00000ce0 6c 25 28 49 25 2c 6f 72 69 65 6e 74 25 29 3a 50 |l%(I%,orient%):P| 00000cf0 25 21 32 38 3d 30 3a 50 25 21 33 32 3d 30 3a 50 |%!28=0:P%!32=0:P| 00000d00 25 21 33 36 3d 26 32 30 31 30 30 30 34 32 3a 50 |%!36=&20100042:P| 00000d10 25 2b 3d 34 30 0d 06 b8 25 20 20 50 30 25 3d 70 |%+=40...% P0%=p| 00000d20 61 74 68 73 74 61 72 74 25 28 49 25 2c 6f 72 69 |athstart%(I%,ori| 00000d30 65 6e 74 25 29 3a 4b 25 3d 30 0d 06 c2 07 20 20 |ent%):K%=0.... | 00000d40 f5 0d 06 cc 20 20 20 20 20 46 25 3d 50 30 25 21 |.... F%=P0%!| 00000d50 4b 25 3a 50 25 21 4b 25 3d 46 25 3a 4b 25 2b 3d |K%:P%!K%=F%:K%+=| 00000d60 34 0d 06 d6 0f 20 20 20 20 c8 8e 20 46 25 20 ca |4.... .. F% .| 00000d70 0d 06 e0 14 20 20 20 20 20 20 c9 20 32 2c 38 3a |.... . 2,8:| 00000d80 43 25 3d 31 0d 06 ea 12 20 20 20 20 20 20 c9 20 |C%=1.... . | 00000d90 36 3a 43 25 3d 33 0d 06 f4 16 20 20 20 20 20 20 |6:C%=3.... | 00000da0 c9 20 35 2c 34 2c 30 3a 43 25 3d 30 0d 06 fe 09 |. 5,4,0:C%=0....| 00000db0 20 20 20 20 cb 0d 07 08 0f 20 20 20 20 c8 95 20 | ..... .. | 00000dc0 43 25 3e 30 0d 07 12 2b 20 20 20 20 20 20 58 31 |C%>0...+ X1| 00000dd0 25 3d 50 30 25 21 4b 25 3a 50 25 21 4b 25 3d 58 |%=P0%!K%:P%!K%=X| 00000de0 31 25 2b 58 64 69 73 70 25 3a 4b 25 2b 3d 34 0d |1%+Xdisp%:K%+=4.| 00000df0 07 1c 2b 20 20 20 20 20 20 59 31 25 3d 50 30 25 |..+ Y1%=P0%| 00000e00 21 4b 25 3a 50 25 21 4b 25 3d 59 31 25 2b 59 64 |!K%:P%!K%=Y1%+Yd| 00000e10 69 73 70 25 3a 4b 25 2b 3d 34 0d 07 26 0f 20 20 |isp%:K%+=4..&. | 00000e20 20 20 20 20 43 25 2d 3d 31 0d 07 30 09 20 20 20 | C%-=1..0. | 00000e30 20 ce 0d 07 3a 0e 20 20 fd 20 4b 25 3d 50 31 25 | ...:. . K%=P1%| 00000e40 0d 07 44 22 20 20 e7 20 70 61 74 68 63 6f 6c 25 |..D" . pathcol%| 00000e50 28 49 25 2c 6f 72 69 65 6e 74 25 29 3c 3e 2d 31 |(I%,orient%)<>-1| 00000e60 20 8c 0d 07 4e 3d 20 20 20 20 c8 99 20 22 43 6f | ...N= .. "Co| 00000e70 6c 6f 75 72 54 72 61 6e 73 5f 53 65 74 47 43 4f |lourTrans_SetGCO| 00000e80 4c 22 2c 70 61 74 68 63 6f 6c 25 28 49 25 2c 6f |L",pathcol%(I%,o| 00000e90 72 69 65 6e 74 25 29 2c 30 2c 30 2c 30 2c 30 0d |rient%),0,0,0,0.| 00000ea0 07 58 27 20 20 20 20 c8 99 20 22 44 72 61 77 5f |.X' .. "Draw_| 00000eb0 46 69 6c 6c 22 2c 50 25 2c 30 2c 30 2c 30 2c 30 |Fill",P%,0,0,0,0| 00000ec0 2c 30 2c 30 2c 30 0d 07 62 07 20 20 cd 0d 07 6c |,0,0,0..b. ...l| 00000ed0 28 20 20 c8 99 20 22 43 6f 6c 6f 75 72 54 72 61 |( .. "ColourTra| 00000ee0 6e 73 5f 53 65 74 47 43 4f 4c 22 2c 30 2c 30 2c |ns_SetGCOL",0,0,| 00000ef0 30 2c 30 2c 30 0d 07 76 1f 20 20 c8 99 20 22 44 |0,0,0..v. .. "D| 00000f00 72 61 77 5f 53 74 72 6f 6b 65 22 2c 50 25 2c 30 |raw_Stroke",P%,0| 00000f10 2c 30 2c 30 0d 07 80 0d 20 20 50 25 2b 3d 50 31 |,0,0.... P%+=P1| 00000f20 25 0d 07 8a 05 ed 0d 07 94 20 21 67 72 6f 75 70 |%........ !group| 00000f30 6c 65 6e 67 74 68 25 3d 50 25 2d 67 72 6f 75 70 |length%=P%-group| 00000f40 73 74 61 72 74 25 0d 07 9e 05 e1 0d 07 a8 05 3a |start%.........:| 00000f50 0d 07 b2 0e dd f2 6c 6f 61 64 64 61 74 61 0d 07 |......loaddata..| 00000f60 bc 3a 70 61 74 68 6e 6f 25 3d 30 3a 50 30 25 3d |.:pathno%=0:P0%=| 00000f70 70 61 74 68 25 28 30 29 3a 50 31 25 3d 70 61 74 |path%(0):P1%=pat| 00000f80 68 25 28 31 29 3a 50 32 25 3d 70 61 74 68 25 28 |h%(1):P2%=path%(| 00000f90 32 29 3a f3 20 64 6f 24 0d 07 c6 05 f5 0d 07 d0 |2):. do$........| 00000fa0 0e 20 20 c8 8e 20 64 6f 24 20 ca 0d 07 da 25 20 |. .. do$ ....% | 00000fb0 20 20 20 c9 20 22 70 61 67 65 22 3a f3 20 41 24 | . "page":. A$| 00000fc0 2c 42 24 3a f2 70 61 67 65 28 41 24 2c 42 24 29 |,B$:.page(A$,B$)| 00000fd0 0d 07 e4 23 20 20 20 20 c9 20 22 70 61 72 6d 73 |...# . "parms| 00000fe0 22 3a f3 20 41 2c 42 3a f2 70 61 72 6d 73 28 41 |":. A,B:.parms(A| 00000ff0 2c 42 29 0d 07 ee 27 20 20 20 20 c9 20 22 73 74 |,B)...' . "st| 00001000 61 72 74 22 3a f3 20 41 2c 42 2c 43 3a f2 73 74 |art":. A,B,C:.st| 00001010 61 72 74 28 41 2c 42 2c 43 29 0d 07 f8 2d 20 20 |art(A,B,C)...- | 00001020 20 20 c9 20 22 6d 6f 76 65 22 3a f3 20 42 2c 43 | . "move":. B,C| 00001030 3a f2 6d 6f 76 65 28 42 2a 53 58 2c 28 42 2b 43 |:.move(B*SX,(B+C| 00001040 2b 43 29 2a 53 59 29 0d 08 02 2d 20 20 20 20 c9 |+C)*SY)...- .| 00001050 20 22 6c 69 6e 65 22 3a f3 20 42 2c 43 3a f2 6c | "line":. B,C:.l| 00001060 69 6e 65 28 42 2a 53 58 2c 28 42 2b 43 2b 43 29 |ine(B*SX,(B+C+C)| 00001070 2a 53 59 29 0d 08 0c 1f 20 20 20 20 c9 20 22 63 |*SY).... . "c| 00001080 75 72 76 65 22 3a f3 20 42 2c 43 2c 44 2c 45 2c |urve":. B,C,D,E,| 00001090 46 2c 47 0d 08 16 41 20 20 20 20 20 20 f2 63 75 |F,G...A .cu| 000010a0 72 76 65 28 42 2a 53 58 2c 28 42 2b 43 2b 43 29 |rve(B*SX,(B+C+C)| 000010b0 2a 53 59 2c 44 2a 53 58 2c 28 44 2b 45 2b 45 29 |*SY,D*SX,(D+E+E)| 000010c0 2a 53 59 2c 46 2a 53 58 2c 28 46 2b 47 2b 47 29 |*SY,F*SX,(F+G+G)| 000010d0 2a 53 59 29 0d 08 20 1a 20 20 20 20 c9 20 22 63 |*SY).. . . "c| 000010e0 6c 6f 73 65 64 22 3a f2 63 6c 6f 73 65 64 0d 08 |losed":.closed..| 000010f0 2a 16 20 20 20 20 c9 20 22 6f 70 65 6e 22 3a f2 |*. . "open":.| 00001100 6f 70 65 6e 0d 08 34 07 20 20 cb 0d 08 3e 0b 20 |open..4. ...>. | 00001110 20 f3 20 64 6f 24 0d 08 48 0f fd 20 64 6f 24 3d | . do$..H.. do$=| 00001120 22 65 6e 64 22 0d 08 52 05 e1 0d 08 5c 05 3a 0d |"end"..R....\.:.| 00001130 08 66 12 dd a4 63 6f 6c 6f 75 72 28 63 6f 6c 25 |.f...colour(col%| 00001140 29 0d 08 70 14 ea 20 72 65 64 25 2c 67 72 6e 25 |)..p.. red%,grn%| 00001150 2c 62 6c 75 25 0d 08 7a 1e 72 65 64 25 3d 26 43 |,blu%..z.red%=&C| 00001160 43 3a 67 72 6e 25 3d 26 43 43 3a 62 6c 75 25 3d |C:grn%=&CC:blu%=| 00001170 26 43 43 0d 08 84 13 e7 20 63 6f 6c 25 3d 2d 31 |&CC..... col%=-1| 00001180 20 8c 20 3d 2d 31 0d 08 8e 13 e7 20 63 6f 6c 25 | . =-1..... col%| 00001190 3d 20 38 20 8c 20 3d 20 30 0d 08 98 1b e7 20 28 |= 8 . = 0..... (| 000011a0 63 6f 6c 25 80 31 29 3e 30 20 8c 20 72 65 64 25 |col%.1)>0 . red%| 000011b0 3d 26 46 46 0d 08 a2 1b e7 20 28 63 6f 6c 25 80 |=&FF..... (col%.| 000011c0 32 29 3e 30 20 8c 20 67 72 6e 25 3d 26 46 46 0d |2)>0 . grn%=&FF.| 000011d0 08 ac 1b e7 20 28 63 6f 6c 25 80 34 29 3e 30 20 |.... (col%.4)>0 | 000011e0 8c 20 62 6c 75 25 3d 26 46 46 0d 08 b6 24 3d 28 |. blu%=&FF...$=(| 000011f0 72 65 64 25 3c 3c 38 29 2b 28 67 72 6e 25 3c 3c |red%<<8)+(grn%<<| 00001200 31 36 29 2b 28 62 6c 75 25 3c 3c 32 34 29 0d 08 |16)+(blu%<<24)..| 00001210 c0 05 3a 0d 08 ca 1e dd f2 73 74 61 72 74 28 63 |..:......start(c| 00001220 6f 6c 30 25 2c 63 6f 6c 31 25 2c 63 6f 6c 32 25 |ol0%,col1%,col2%| 00001230 29 0d 08 d4 40 70 61 74 68 73 74 61 72 74 25 28 |)...@pathstart%(| 00001240 70 61 74 68 6e 6f 25 2c 30 29 3d 50 30 25 3a 70 |pathno%,0)=P0%:p| 00001250 61 74 68 63 6f 6c 25 28 70 61 74 68 6e 6f 25 2c |athcol%(pathno%,| 00001260 30 29 3d a4 63 6f 6c 6f 75 72 28 63 6f 6c 30 25 |0)=.colour(col0%| 00001270 29 0d 08 de 40 70 61 74 68 73 74 61 72 74 25 28 |)...@pathstart%(| 00001280 70 61 74 68 6e 6f 25 2c 31 29 3d 50 31 25 3a 70 |pathno%,1)=P1%:p| 00001290 61 74 68 63 6f 6c 25 28 70 61 74 68 6e 6f 25 2c |athcol%(pathno%,| 000012a0 31 29 3d a4 63 6f 6c 6f 75 72 28 63 6f 6c 31 25 |1)=.colour(col1%| 000012b0 29 0d 08 e8 40 70 61 74 68 73 74 61 72 74 25 28 |)...@pathstart%(| 000012c0 70 61 74 68 6e 6f 25 2c 32 29 3d 50 32 25 3a 70 |pathno%,2)=P2%:p| 000012d0 61 74 68 63 6f 6c 25 28 70 61 74 68 6e 6f 25 2c |athcol%(pathno%,| 000012e0 32 29 3d a4 63 6f 6c 6f 75 72 28 63 6f 6c 32 25 |2)=.colour(col2%| 000012f0 29 0d 08 f2 05 e1 0d 08 fc 05 3a 0d 09 06 0f dd |).........:.....| 00001300 f2 6d 6f 76 65 28 58 2c 59 29 0d 09 10 33 50 30 |.move(X,Y)...3P0| 00001310 25 21 30 3d 32 3a 50 30 25 21 34 3d 58 2a 43 30 |%!0=2:P0%!4=X*C0| 00001320 2b 59 2a 53 30 3a 50 30 25 21 38 3d 58 2a 53 30 |+Y*S0:P0%!8=X*S0| 00001330 2d 59 2a 43 30 3a 50 30 25 2b 3d 31 32 0d 09 1a |-Y*C0:P0%+=12...| 00001340 33 50 31 25 21 30 3d 32 3a 50 31 25 21 34 3d 58 |3P1%!0=2:P1%!4=X| 00001350 2a 43 31 2b 59 2a 53 31 3a 50 31 25 21 38 3d 58 |*C1+Y*S1:P1%!8=X| 00001360 2a 53 31 2d 59 2a 43 31 3a 50 31 25 2b 3d 31 32 |*S1-Y*C1:P1%+=12| 00001370 0d 09 24 33 50 32 25 21 30 3d 32 3a 50 32 25 21 |..$3P2%!0=2:P2%!| 00001380 34 3d 58 2a 43 32 2b 59 2a 53 32 3a 50 32 25 21 |4=X*C2+Y*S2:P2%!| 00001390 38 3d 58 2a 53 32 2d 59 2a 43 32 3a 50 32 25 2b |8=X*S2-Y*C2:P2%+| 000013a0 3d 31 32 0d 09 2e 05 e1 0d 09 38 05 3a 0d 09 42 |=12.......8.:..B| 000013b0 1e dd f2 63 75 72 76 65 28 58 30 2c 59 30 2c 58 |...curve(X0,Y0,X| 000013c0 31 2c 59 31 2c 58 32 2c 59 32 29 0d 09 4c 2f 50 |1,Y1,X2,Y2)..L/P| 000013d0 30 25 21 30 3d 36 3a 50 30 25 21 34 3d 58 30 2a |0%!0=6:P0%!4=X0*| 000013e0 43 30 2b 59 30 2a 53 30 3a 50 30 25 21 38 3d 58 |C0+Y0*S0:P0%!8=X| 000013f0 30 2a 53 30 2d 59 30 2a 43 30 0d 09 56 2f 50 31 |0*S0-Y0*C0..V/P1| 00001400 25 21 30 3d 36 3a 50 31 25 21 34 3d 58 30 2a 43 |%!0=6:P1%!4=X0*C| 00001410 31 2b 59 30 2a 53 31 3a 50 31 25 21 38 3d 58 30 |1+Y0*S1:P1%!8=X0| 00001420 2a 53 31 2d 59 30 2a 43 31 0d 09 60 2f 50 32 25 |*S1-Y0*C1..`/P2%| 00001430 21 30 3d 36 3a 50 32 25 21 34 3d 58 30 2a 43 32 |!0=6:P2%!4=X0*C2| 00001440 2b 59 30 2a 53 32 3a 50 32 25 21 38 3d 58 30 2a |+Y0*S2:P2%!8=X0*| 00001450 53 32 2d 59 30 2a 43 32 0d 09 6a 29 50 30 25 21 |S2-Y0*C2..j)P0%!| 00001460 31 32 3d 58 31 2a 43 30 2b 59 31 2a 53 30 3a 50 |12=X1*C0+Y1*S0:P| 00001470 30 25 21 31 36 3d 58 31 2a 53 30 2d 59 31 2a 43 |0%!16=X1*S0-Y1*C| 00001480 30 0d 09 74 29 50 31 25 21 31 32 3d 58 31 2a 43 |0..t)P1%!12=X1*C| 00001490 31 2b 59 31 2a 53 31 3a 50 31 25 21 31 36 3d 58 |1+Y1*S1:P1%!16=X| 000014a0 31 2a 53 31 2d 59 31 2a 43 31 0d 09 7e 29 50 32 |1*S1-Y1*C1..~)P2| 000014b0 25 21 31 32 3d 58 31 2a 43 32 2b 59 31 2a 53 32 |%!12=X1*C2+Y1*S2| 000014c0 3a 50 32 25 21 31 36 3d 58 31 2a 53 32 2d 59 31 |:P2%!16=X1*S2-Y1| 000014d0 2a 43 32 0d 09 88 29 50 30 25 21 32 30 3d 58 32 |*C2...)P0%!20=X2| 000014e0 2a 43 30 2b 59 32 2a 53 30 3a 50 30 25 21 32 34 |*C0+Y2*S0:P0%!24| 000014f0 3d 58 32 2a 53 30 2d 59 32 2a 43 30 0d 09 92 29 |=X2*S0-Y2*C0...)| 00001500 50 31 25 21 32 30 3d 58 32 2a 43 31 2b 59 32 2a |P1%!20=X2*C1+Y2*| 00001510 53 31 3a 50 31 25 21 32 34 3d 58 32 2a 53 31 2d |S1:P1%!24=X2*S1-| 00001520 59 32 2a 43 31 0d 09 9c 29 50 32 25 21 32 30 3d |Y2*C1...)P2%!20=| 00001530 58 32 2a 43 32 2b 59 32 2a 53 32 3a 50 32 25 21 |X2*C2+Y2*S2:P2%!| 00001540 32 34 3d 58 32 2a 53 32 2d 59 32 2a 43 32 0d 09 |24=X2*S2-Y2*C2..| 00001550 a6 1b 50 30 25 2b 3d 32 38 3a 50 31 25 2b 3d 32 |..P0%+=28:P1%+=2| 00001560 38 3a 50 32 25 2b 3d 32 38 0d 09 b0 05 e1 0d 09 |8:P2%+=28.......| 00001570 ba 05 3a 0d 09 c4 0f dd f2 6c 69 6e 65 28 58 2c |..:......line(X,| 00001580 59 29 0d 09 ce 33 50 30 25 21 30 3d 38 3a 50 30 |Y)...3P0%!0=8:P0| 00001590 25 21 34 3d 58 2a 43 30 2b 59 2a 53 30 3a 50 30 |%!4=X*C0+Y*S0:P0| 000015a0 25 21 38 3d 58 2a 53 30 2d 59 2a 43 30 3a 50 30 |%!8=X*S0-Y*C0:P0| 000015b0 25 2b 3d 31 32 0d 09 d8 33 50 31 25 21 30 3d 38 |%+=12...3P1%!0=8| 000015c0 3a 50 31 25 21 34 3d 58 2a 43 31 2b 59 2a 53 31 |:P1%!4=X*C1+Y*S1| 000015d0 3a 50 31 25 21 38 3d 58 2a 53 31 2d 59 2a 43 31 |:P1%!8=X*S1-Y*C1| 000015e0 3a 50 31 25 2b 3d 31 32 0d 09 e2 33 50 32 25 21 |:P1%+=12...3P2%!| 000015f0 30 3d 38 3a 50 32 25 21 34 3d 58 2a 43 32 2b 59 |0=8:P2%!4=X*C2+Y| 00001600 2a 53 32 3a 50 32 25 21 38 3d 58 2a 53 32 2d 59 |*S2:P2%!8=X*S2-Y| 00001610 2a 43 32 3a 50 32 25 2b 3d 31 32 0d 09 ec 05 e1 |*C2:P2%+=12.....| 00001620 0d 09 f6 05 3a 0d 0a 00 0c dd f2 63 6c 6f 73 65 |....:......close| 00001630 64 0d 0a 0a 48 50 30 25 21 30 3d 35 3a 50 30 25 |d...HP0%!0=5:P0%| 00001640 21 34 3d 30 3a 50 30 25 2b 3d 38 3a 50 31 25 21 |!4=0:P0%+=8:P1%!| 00001650 30 3d 35 3a 50 31 25 21 34 3d 30 3a 50 31 25 2b |0=5:P1%!4=0:P1%+| 00001660 3d 38 3a 50 32 25 21 30 3d 35 3a 50 32 25 21 34 |=8:P2%!0=5:P2%!4| 00001670 3d 30 3a 50 32 25 2b 3d 38 0d 0a 14 34 70 61 74 |=0:P2%+=8...4pat| 00001680 68 6c 65 6e 67 74 68 25 28 70 61 74 68 6e 6f 25 |hlength%(pathno%| 00001690 2c 30 29 3d 50 30 25 2d 70 61 74 68 73 74 61 72 |,0)=P0%-pathstar| 000016a0 74 25 28 70 61 74 68 6e 6f 25 2c 30 29 0d 0a 1e |t%(pathno%,0)...| 000016b0 34 70 61 74 68 6c 65 6e 67 74 68 25 28 70 61 74 |4pathlength%(pat| 000016c0 68 6e 6f 25 2c 31 29 3d 50 31 25 2d 70 61 74 68 |hno%,1)=P1%-path| 000016d0 73 74 61 72 74 25 28 70 61 74 68 6e 6f 25 2c 31 |start%(pathno%,1| 000016e0 29 0d 0a 28 3f 70 61 74 68 6c 65 6e 67 74 68 25 |)..(?pathlength%| 000016f0 28 70 61 74 68 6e 6f 25 2c 32 29 3d 50 32 25 2d |(pathno%,2)=P2%-| 00001700 70 61 74 68 73 74 61 72 74 25 28 70 61 74 68 6e |pathstart%(pathn| 00001710 6f 25 2c 32 29 3a 70 61 74 68 6e 6f 25 2b 3d 31 |o%,2):pathno%+=1| 00001720 0d 0a 32 05 e1 0d 0a 3c 05 3a 0d 0a 46 0a dd f2 |..2....<.:..F...| 00001730 6f 70 65 6e 0d 0a 50 30 50 30 25 21 30 3d 30 3a |open..P0P0%!0=0:| 00001740 50 30 25 2b 3d 34 3a 50 31 25 21 30 3d 30 3a 50 |P0%+=4:P1%!0=0:P| 00001750 31 25 2b 3d 34 3a 50 32 25 21 30 3d 30 3a 50 32 |1%+=4:P2%!0=0:P2| 00001760 25 2b 3d 34 0d 0a 5a 34 70 61 74 68 6c 65 6e 67 |%+=4..Z4pathleng| 00001770 74 68 25 28 70 61 74 68 6e 6f 25 2c 30 29 3d 50 |th%(pathno%,0)=P| 00001780 30 25 2d 70 61 74 68 73 74 61 72 74 25 28 70 61 |0%-pathstart%(pa| 00001790 74 68 6e 6f 25 2c 30 29 0d 0a 64 34 70 61 74 68 |thno%,0)..d4path| 000017a0 6c 65 6e 67 74 68 25 28 70 61 74 68 6e 6f 25 2c |length%(pathno%,| 000017b0 31 29 3d 50 31 25 2d 70 61 74 68 73 74 61 72 74 |1)=P1%-pathstart| 000017c0 25 28 70 61 74 68 6e 6f 25 2c 31 29 0d 0a 6e 3f |%(pathno%,1)..n?| 000017d0 70 61 74 68 6c 65 6e 67 74 68 25 28 70 61 74 68 |pathlength%(path| 000017e0 6e 6f 25 2c 32 29 3d 50 32 25 2d 70 61 74 68 73 |no%,2)=P2%-paths| 000017f0 74 61 72 74 25 28 70 61 74 68 6e 6f 25 2c 32 29 |tart%(pathno%,2)| 00001800 3a 70 61 74 68 6e 6f 25 2b 3d 31 0d 0a 78 05 e1 |:pathno%+=1..x..| 00001810 0d 0a 82 05 3a 0d 0a 8c 11 dd f2 70 61 67 65 28 |....:......page(| 00001820 53 24 2c 4f 24 29 0d 0a 96 1b 4c 41 35 58 63 6d |S$,O$)....LA5Xcm| 00001830 3d 32 30 2e 35 3a 4c 41 35 59 63 6d 3d 31 34 2e |=20.5:LA5Ycm=14.| 00001840 35 0d 0a a0 0b c8 8e 20 53 24 20 ca 0d 0a aa 22 |5...... S$ ...."| 00001850 20 20 c9 20 22 41 30 22 3a 58 3d 4c 41 35 59 63 | . "A0":X=LA5Yc| 00001860 6d 2a 38 3a 59 3d 4c 41 35 58 78 6d 2a 34 0d 0a |m*8:Y=LA5Xxm*4..| 00001870 b4 22 20 20 c9 20 22 41 31 22 3a 58 3d 4c 41 35 |." . "A1":X=LA5| 00001880 58 63 6d 2a 34 3a 59 3d 4c 41 35 59 63 6d 2a 34 |Xcm*4:Y=LA5Ycm*4| 00001890 0d 0a be 22 20 20 c9 20 22 41 32 22 3a 58 3d 4c |..." . "A2":X=L| 000018a0 41 35 59 63 6d 2a 34 3a 59 3d 4c 41 35 58 63 6d |A5Ycm*4:Y=LA5Xcm| 000018b0 2a 32 0d 0a c8 22 20 20 c9 20 22 41 33 22 3a 58 |*2..." . "A3":X| 000018c0 3d 4c 41 35 58 63 6d 2a 32 3a 59 3d 4c 41 35 59 |=LA5Xcm*2:Y=LA5Y| 000018d0 63 6d 2a 32 0d 0a d2 22 20 20 c9 20 22 41 34 22 |cm*2..." . "A4"| 000018e0 3a 58 3d 4c 41 35 59 63 6d 2a 32 3a 59 3d 4c 41 |:X=LA5Ycm*2:Y=LA| 000018f0 35 58 63 6d 2a 31 0d 0a dc 22 20 20 c9 20 22 41 |5Xcm*1..." . "A| 00001900 35 22 3a 58 3d 4c 41 35 58 63 6d 2a 31 3a 59 3d |5":X=LA5Xcm*1:Y=| 00001910 4c 41 35 59 63 6d 2a 31 0d 0a e6 05 cb 0d 0a f0 |LA5Ycm*1........| 00001920 15 e7 20 4f 24 3d 22 50 22 20 8c 20 c8 94 20 58 |.. O$="P" . .. X| 00001930 2c 59 0d 0a fa 4b 70 61 67 65 6c 25 3d 58 2a 31 |,Y...Kpagel%=X*1| 00001940 38 30 2f 32 2e 35 34 3a 70 61 67 65 68 25 3d 59 |80/2.54:pageh%=Y| 00001950 2a 31 38 30 2f 32 2e 35 34 3a 70 61 67 65 6c 25 |*180/2.54:pagel%| 00001960 3d 70 61 67 65 6c 25 2a 32 35 36 3a 70 61 67 65 |=pagel%*256:page| 00001970 68 25 3d 70 61 67 65 68 25 2a 32 35 36 0d 0b 04 |h%=pageh%*256...| 00001980 3f 58 6d 61 78 25 3d 70 61 67 65 6c 25 2b 53 49 |?Xmax%=pagel%+SI| 00001990 5a 45 3a 59 6d 61 78 25 3d 70 61 67 65 68 25 2b |ZE:Ymax%=pageh%+| 000019a0 53 49 5a 45 3a 58 6d 69 6e 25 3d 2d 53 49 5a 45 |SIZE:Xmin%=-SIZE| 000019b0 3a 59 6d 69 6e 25 3d 2d 53 49 5a 45 0d 0b 0e 24 |:Ymin%=-SIZE...$| 000019c0 44 6d 61 78 25 3d b6 28 58 6d 61 78 25 2a 58 6d |Dmax%=.(Xmax%*Xm| 000019d0 61 78 25 2b 59 6d 61 78 25 2a 59 6d 61 78 25 29 |ax%+Ymax%*Ymax%)| 000019e0 0d 0b 18 05 e1 0d 0b 22 05 3a 0d 0b 2c 19 dd f2 |.......".:..,...| 000019f0 70 61 72 6d 73 28 73 69 7a 65 25 2c 61 6e 67 6c |parms(size%,angl| 00001a00 65 25 29 0d 0b 36 2b 52 33 3d b6 28 33 29 3a 53 |e%)..6+R3=.(3):S| 00001a10 59 3d 73 69 7a 65 25 3a 53 58 3d 73 69 7a 65 25 |Y=size%:SX=size%| 00001a20 2a 52 33 3a 53 49 5a 45 3d 53 58 2a 36 30 0d 0b |*R3:SIZE=SX*60..| 00001a30 40 34 41 30 3d b2 28 61 6e 67 6c 65 25 2b 30 29 |@4A0=.(angle%+0)| 00001a40 3a 41 31 3d b2 28 61 6e 67 6c 65 25 2b 31 32 30 |:A1=.(angle%+120| 00001a50 29 3a 41 32 3d b2 28 61 6e 67 6c 65 25 2b 32 34 |):A2=.(angle%+24| 00001a60 30 29 0d 0b 4a 39 43 30 3d 9b 28 41 30 29 3a 53 |0)..J9C0=.(A0):S| 00001a70 30 3d b5 28 41 30 29 3a 43 31 3d 9b 28 41 31 29 |0=.(A0):C1=.(A1)| 00001a80 3a 53 31 3d b5 28 41 31 29 3a 43 32 3d 9b 28 41 |:S1=.(A1):C2=.(A| 00001a90 32 29 3a 53 32 3d b5 28 41 32 29 0d 0b 54 21 58 |2):S2=.(A2)..T!X| 00001aa0 69 6e 63 31 25 3d 53 49 5a 45 2a 43 30 3a 59 69 |inc1%=SIZE*C0:Yi| 00001ab0 6e 63 31 25 3d 53 49 5a 45 2a 53 30 0d 0b 5e 21 |nc1%=SIZE*S0..^!| 00001ac0 58 69 6e 63 32 25 3d 53 49 5a 45 2a 43 31 3a 59 |Xinc2%=SIZE*C1:Y| 00001ad0 69 6e 63 32 25 3d 53 49 5a 45 2a 53 31 0d 0b 68 |inc2%=SIZE*S1..h| 00001ae0 05 e1 0d ff |....| 00001ae4