recursive binary tree

Оставлю пока набросок, есть над чем подумать.

;701
;6.2
;543
Global Dim dx.l(8)
Global Dim dy.l(8)

Global m.f=0.7

dx(0)=0:dy(0)=-1
dx(1)=1:dy(1)=-1
dx(2)=1:dy(2)=0
dx(3)=1:dy(3)=1
dx(4)=0:dy(4)=1
dx(5)=-1:dy(5)=1
dx(6)=-1:dy(6)=0
dx(7)=-1:dy(7)=-1


Procedure bt(x0,y0,dir.l,len.l)
  If len<>0
    x1.l=x0+len*dx(dir)
    y1.l=y0+len*dy(dir)
    LineXY(x0,y0,x1,y1,$FFFFFF)
   bt(x1,y1,(dir-1)&7,Int(len*m))
   bt(x1,y1,(dir+1)&7,Int(len*m))
  EndIf
EndProcedure

If InitSprite() And OpenWindow(0,0,0,640,480,"SineWave",#PB_Window_SystemMenu) And OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0) 
;  Repeat 
  StartDrawing(ScreenOutput()) 
  bt(320,480,0,64*2)
        StopDrawing() 
        FlipBuffers() 
  Repeat 
  Until WindowEvent()=#PB_Event_CloseWindow 
EndIf

; IDE Options = PureBasic 5.30 (Windows - x86)
; CursorPosition = 31
; Folding = -


Комментарии