INPUT "How many rope segments? ",segments INPUT "How long should each segment be? ",length SYNC ON:SYNC RATE 0:BACKDROP ON:COLOR BACKDROP RGB(000,000,000):RANDOMIZE TIMER() TYPE segT x1#,y1#,x2#,y2# length angle# ENDTYPE DIM segment(segments) AS segT segment(0).x2# = SCREEN WIDTH()/2 segment(0).y2# = SCREEN HEIGHT()/2 FOR x = 1 TO segments segment(x).length = length segment(x).angle# = RND(30) NEXT x DO IF MOUSECLICK() segment(0).x1# = MOUSEX() segment(0).y1# = MOUSEY() segment(0).angle# = ATANFULL(segment(0).x2#-segment(0).x1#,segment(0).y2#-segment(0).y1#) ENDIF segment(0).angle# = CURVEANGLE(0,segment(0).angle#,500) FOR x = 1 TO segments segment(x).x1# = segment(x-1).x2# segment(x).y1# = segment(x-1).y2# segment(x).x2# = NEWXVALUE(segment(x).x1#,segment(x).angle#,segment(x).length) segment(x).y2# = NEWZVALUE(segment(x).y1#,segment(x).angle#,segment(x).length) LINE segment(x).x1#,segment(x).y1#,segment(x).x2#,segment(x).y2# segment(x).angle# = CURVEANGLE(segment(x-1).angle#,segment(x).angle#,100) NEXT x SYNC LOOP