0 'FRACT.BA - By Nick Mistler 1 'Club 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 KEY OFF 3 ON ERROR GOTO 23:'SCREEN PIXEL SIZES 4 CLEAR 2000:CLS:CF=3.14149/180:MX=239:MY=63:SF=.50:'vary if FC ERROR IN 350 5 INPUT"NUMBER OF SIDES";S:CX=MX*.65:CY=MY*.55:X2=CX:Y2=MY+1-CY:INPUT"INVERSE";I$:I$=LEFT$(I$,1):'ANGLES TO TURN RIGHT & LEFT 6 R=-360/S:L=R+180:IFI$="Y"ORI$="y"THENC$="A":W=R:R=-L:L=-W ELSEC$="R" 7 A$=C$:IFI$<>"Y"ANDI$<>"y"THEN9 8 A1$="R":S1=S-2:FORN=1TOS1:A1$=A1$+"L":NEXTN:A1$=A1$+"R":GOTO10 9 A1$="L":S1=S-2:FORN=1TOS1:A1$=A1$+"R":NEXTN:A1$=A1$+"L" 10 INPUT"NUMBER OF LEVELS";LE:IFLE=1THEN13 11 'EXPAND STRING FOR MULTIPLE LEVELS 12 FORN=2TOLE:LN=LN=LEN(A$):FORN1=1TOLN:B$=B$+MID$(A$,N1,1)+A1$:NEXTN1:A$=B$:B$="":NEXTN:' 13 'SCALE DIAGRAM TO FIT SCREEN 14 LL=MX*1.25/(S*3*LE):'CLEAR SCREEN & SET STARTING X,Y 15 CLS:PSET(X2,Y2):FORZ=1TOS:FORN=1TOLEN(A$):B1$=MID$(A$,N,1)+A1$:FORN1=1TOLEN(B1$):B$=MID$(B1$,N1,1):IFB$="A"THENA=A+W:GOTO17 16 IFB$="L"THENA=A+L ELSEA=A+R 17 A1=A*CF:X=X+LL*COS(A1):Y=Y+LL*SIN(A1)*SF:XP=INT(X)*.3: YP=INT(Y): X1=XP+CX: Y1=62-(YP/2+CY): LINE(X2,Y2)-(X1,Y1):X2=X1:Y2=Y1:NEXTN1:NEXTN:NEXTZ:'END OF FIGURE 18 A$="":'INSERT PRINT ROUTINE IF DESIRED 19 PRINT:PRINT"Do It Again?";:Y$="" 20 Y$=INKEY$:IF Y$=""THEN 20 21 IF Y$="Y"ORY$="y"THEN RUN 22 IF Y$="N"ORY$="n"THEN 24 23 PRINT"You hit the screen boundary.":RESUME 3 24 CLS:MENU