IR – Cerchi
Ogni cerchio contiene 2 cerchi più piccoli…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
DIM =800 DIM2=DIM/2 GraphicsWindow.Title="Ricorsione" GraphicsWindow.Width =DIM GraphicsWindow.Height=DIM xc=DIM2 yc=DIM2 raggio=0.4*DIM colore=255 Stack.PushValue("dati",xc ) Stack.PushValue("dati",raggio) Stack.PushValue("dati",colore) CERCHIO() '-------------------------------------------------------------------------- Sub CERCHIO colore =Stack.PopValue("dati") raggio =Stack.PopValue("dati") xc =Stack.PopValue("dati") diametro=2*raggio GraphicsWindow.BrushColor=GraphicsWindow.GetColorFromRGB(colore,0,255) GraphicsWindow.FillEllipse(xc-raggio,yc-raggio,diametro,diametro) Program.Delay(50) If raggio > 5 Then raggio1=raggio/2 colore1=colore*0.7 xc1=xc+raggio1 Stack.PushValue("dati",xc1 ) Stack.PushValue("dati",raggio1) Stack.PushValue("dati",colore1) xc1=xc-raggio1 Stack.PushValue("dati",xc1 ) Stack.PushValue("dati",raggio1) Stack.PushValue("dati",colore1) CERCHIO() CERCHIO() EndIf EndSub |
Anche yc viene coinvolto nelle chiamate ricorsive