I love this, it reminds me of Manic Miner, some of the rooms have swinging ropes you can grab onto.
I've always meant to see if I could make something like this so I hope you don't mind but I faffed around in the emulator and made each joint an actual point in space and takes gravity and velocity so that a wave can travel through the rope rather than have it follow a defined path;
joint=32
dim x(joint)
dim y(joint)
dim oldx(joint)
dim oldy(joint)
length=10
gravity=.15
drag=.995
' create rope hanging down
for a=1 to joint
x(a)=320
y(a)=80+(a-1)*length
oldx(a)=x(a)
oldy(a)=y(a)
next a
' give rope a big initial swing
for a=1 to joint
x(a)=320+(a*a*.35)
oldx(a)=x(a)-20
next a
open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
' physics update
for a=2 to joint
vx=x(a)-oldx(a)
vy=y(a)-oldy(a)
oldx(a)=x(a)
oldy(a)=y(a)
x(a)=x(a)+vx*drag
y(a)=y(a)+vy*drag+gravity
next a
' solve rope lengths
for b=1 to 8
x(1)=320
y(1)=80
for a=2 to joint
dx=x(a)-x(a-1)
dy=y(a)-y(a-1)
dist=sqrt(dx*dx+dy*dy)
if dist>0 then
diff=(dist-length)/dist
if a<>2 then
x(a-1)=x(a-1)+dx*diff*.5
y(a-1)=y(a-1)+dy*diff*.5
endif
x(a)=x(a)-dx*diff*.5
y(a)=y(a)-dy*diff*.5
endif
next a
next b
' redraw rope
setrgb 1,255,255,255
for a=1 to joint-1
line x(a),y(a) to x(a+1),y(a+1)
next a
until 1=0