open window 640,512
dim h$(2)
10 restore 20
for q = 1 to 11
b=0:read iter,p,x,y,h$(b),X$,Y$,F$,a
d=0:new curve:line to x,y:c=ran(512)
as=6.283185307/a:o=ran()
for z=1 to iter
h$(1-b)=""
if z=iter clear window
for i = 1 to len(h$(b))
m$ = mid$(h$(b),i,1)
if z=iter then
        if m$="+" then d=d+1: if (d>=a) d=0:c=c+o
        elsif m$="-" then d=d-1: if (d<0) d=a-1
        elsif m$="F" then x=x+p*sin(as*d):y=y+p*cos(as*d)
  setrgb 1,36*and(c,7),4.5*and(c,56),0.56*and(c,448): line to x,y
        fi
else
        if m$="X" then h$(1-b)=h$(1-b)+X$
        elsif m$="Y" then h$(1-b)=h$(1-b)+Y$
        elsif m$="F" then h$(1-b)=h$(1-b)+F$
        else h$(1-b)=h$(1-b)+m$
        fi
fi
next i
b=1-b
next z:wait 1:next q
goto 10
20 data 7,5,150,100,"X","+YF-XFX-FY+","-XF+YFY+FX-","F",4
data 7,0.5,300,100,"F","","","F+F--F+F",6
'data 3,5,300,120,"F","","","-F+F-F-F+F+FF-F+F+FF+F-F-FF+FF-FF+F+F-FF-F-F+FF-F-F+F+F-F+",4
data 4,1.5,500,60,"F","","","-F+F-F-F+F+FF-F+F+FF+F-F-FF+FF-FF+F+F-FF-F-F+FF-F-F+F+F-F+",4
data 8,3,150,80,"X","YF+XF+Y","XF-YF-X","F",6
data 13,5,200,400,"X","X+YF+","-FX-Y","F",4
data 5,5,130,50,"X","XFYFX+F+YFXFY-F-XFYFX","YFXFY-F-XFYFX+F+YFXFY","F",4

data 5,5,180,300,"X","X+YF++YF-FX--FXFX-YF+","-FX+YFYF++YF+FX--FX-Y","F",6
data 5,5,300,70,"F","","","F+F-F-F-F+F+F+F-F",4
data 4,5,160,100,"F","","","F-F+F+FFF-F-F+F",4
data 7,2,400,0,"X","XF-F+F-XF+F+XF-F+F-X","","F",4
data 7,3,400,230,"X","--FXF++FXF++FXF--","","FF",6
  
