aUCBLogo Demos and Tests / drawturtletest


to drawTurtleTest
   
WindowMode
   
deltax=40
   
deltay=deltax*(sqrt 3)
   
maxxi=13
   
maxyi=9
   
circleSize=215
   
x0=deltax*(2*(maxxi+1)-3)/2
   
y0=deltay*((round (maxyi+maxxi/2)/2)+1/2)
   
point=[]
   
polys=[]
   
nr=int 0
   
for [yi maxyi]
   
[   x=-x0
      
y=-y0+deltay*yi
      
for [xi maxxi]
      
[   nr=nr+1
         
setPixel list x y  0
         
push "point list x y
         
x=x+deltax
         
         
nr=nr+1
         
setPixel list x y  0
         
push "point list x y
         
push "connection list nr nr-1
         
if yi and2 xi maxxi and2 xi 0
         
[   poly=[]
            
push "poly nr-2
            
push "poly nr-1
            
push "poly nr
            
nr2=nr-2*(maxxi+1)+1
            
push "poly nr2
            
push "poly nr2-1
            
push "poly nr2-2
            
push "polys poly
         
]
         
x=x+deltax/2
         
y=y+deltay/2
      
]   
   
]
   
foreach polys
   
[   setpc hsb 60+random 80 .8 0.4+0.3*rnd
      
pu 
      
isset=false
      
until [isset or2 repCount 6]
      
[   if (round norm point.((?).repcount)) < circleSize
         
[   setPos point.((?).repcount) 
            
isset=true
         
]
      
]
      
pd
      
PolyStart
      
foreach ?
      
[   if (round norm point.?) < circleSize
         
[   setPos point.?
         
]
      
]
      
PolyEnd
   
]
   
pu home pd
   
circle circleSize
end