10 CLS0:SOUND200,3:PRINT@72,"polygonal€spirals";:GOSUB90 20 PRINT@162,"copyright€1983€by€tandy€corp"; 30 PRINT@234,"ready€plotter";:PRINT@296,"then€press€enter"; 40 K=0:GOSUB96:IFK=1THENGOSUB60:GOTO100 50 GOTO40 60 A$(1)="NUMBER OF POINTS :":A$(2)="POINTS PER MOVE :":A$(3)="INITIAL ROTATION :" 70 A$(4)="CONSEC. ROTATION :":A$(5)="SIZE RATIO :":A$(6)="INITIAL COLOR :":A$(7)="COLOR INCREMENT :" 80 RETURN 90 FORX=0TO63:F=INT(RND(0)*7)+1:SET(X,0,F):SET(X,30,F):NEXTX:FORY=0TO30:F=INT(RND(0)*7)+1:SET(0,Y,F):SET(1,Y,F):SET(62,Y,F) 95 SET(63,Y,F):NEXTY 96 FORX=15TO50:F=INT(RND(0)*7)+1:SET(X,3,F):SET(X,6,F):NEXTX:FORY=3TO6:F=INT(RND(0)*7)+1:SET(14,Y,F):SET(51,Y,F):NEXTY 97 K$=INKEY$:IFK$=CHR$(13)THENK=1 99 RETURN 100 LPRINTCHR$(18);:LPRINT"M240,-480":LPRINT"I" 105 R=200:PI=3.1459265:C1=2*PI/360 110 CLS:PRINT@8,"POLYGONAL SPIRALS"; 120 PRINT@64,A$(1);:INPUTN:N=INT(N):IFN<3THEN120 130 SA=2*PI/N 140 PRINT@96,A$(2);:INPUTK:K=INT(K):IFK<1ORK>=NTHEN140 150 PRINT@128,A$(3);:INPUTIR:IR=INT(IR):IR=IR*C1 160 PRINT@160,A$(4);:INPUTRO:RO=INT(RO):RO=RO*C1 170 PRINT@192,A$(5);:INPUTSR:IFSR>=1ORSR<=.01THEN170 180 PRINT@224,A$(6);:INPUTC3:C3=INT(C3):IFC3<0ORC3>3THEN180 190 PRINT@256,A$(7);:INPUTCR:IFCR>3THEN190 200 LPRINT"C";C3:LPRINTCHR$(18):ST=IR 290 X=INT(R*SIN(ST)):Y=INT(R*COS(ST)):LPRINT"M";X;",";Y 350 FORTH=STTOST+K*2*PI+.001STEPSA*K:X=INT(R*SIN(TH)):Y=INT(R*COS(TH)):LPRINT"D";X;",";Y:NEXTTH 360 C3=C3+CR:IF C3>3.9 THEN C3=0 400 C4=INT(C3):LPRINT"C";C4:ST=ST+RO:R=R*SR 405 IFPEEK(49151)=247THEN500 450 GOTO 290 500 SOUND100,5:PRINT@320,"ANOTHER PLOT";:INPUTAN$ 505 AN$=LEFT$(AN$,1):IFAN$<>"Y"ANDAN$<>"N"THEN500 510 IFAN$="Y"THENLPRINT"H":LPRINT"M0,-480":LPRINT"I":GOTO105 550 CLS:END