option qBasic

  p2 = 6.28318530
  Ang1 = p2/9 : Ang = 0 : x = 400.0 : y = 400.0
  clr = 1 : count = 1 : Time1 = 0 : Time2 = 0

declare function Fractal( depth , distance )
declare function MoveSteps ( distance )
declare function RotateLeft()
declare function SetColor()

autoback(-2)
screenswap

setdisplay( 1200,700,32,1)
ink( rgb(20,40,60 ))

cls

ink( rgb(245,200,255 ))
Ang1 = p2/9  :  y = 600.0

Time1 = ticks()

 Fractal (5,200)
Time2= ticks()
screenswap
ink( rgb(255,255,255 ))
locate (1,1):prints( Time2 - Time1 )

 screenswap
waitkey

end

 function  Fractal( depth , distance )


       cnt2 = 9
       cnt = 0
    if depth > 1 then
            SetColor()
  end if

      if depth > 0 then
            while cnt < cnt2
                 MoveSteps( distance)
                 RotateLeft( )
                 Fractal( depth - 1 , distance / 2.0)
              cnt = cnt + 1
                count = count + 1
            wend
            if count > 10 then
       count = 1
   end if
            depth = depth - 1

      end if
 end function

 function SetColor()

        if clr = 1 then
        ink( rgb(255,100,255 ))
     end if
      if clr = 2 then
        ink( rgb(100,255,255 ))
     end if
      if clr = 3 then
        ink( rgb(255,100,100 ))
     end if
      if clr = 4 then
        ink( rgb(100,255,100 ))
     end if
      if clr = 5 then
        ink( rgb(255,255,155 ))
     end if
      if clr = 6 then
        ink( rgb(180,200,255 ))
     end if
      if clr = 7 then
        ink( rgb(180,0,255 ))
     end if

          clr = clr + 1

      if clr > 7 then
          clr =1
   end if
 end function

 function RotateLeft()
      Ang = Ang + Ang1
      if Ang > p2 then
       Ang = Ang - p2
   end if

 end function

 function MoveSteps ( distance )

        dx = cos(Ang) * distance
        dy = sin(Ang) * distance
        x2 = x + dx
        y2 = y - dy

        line( x,y,x2,y2)
        x = x2 : y = y2
 end function

end


 

Make a free website with Yola