If anyone here ever used to play on the old Vextrex systems, you'll really appreciate this one (AND you'll be admitting you're OLD!)
I actually wrote a tool to generate the 2D vectors (that's what's stored in the DATA arrays)...so I certainly win the highest linecount award: over 300 lines of code went into making this 20 line demo.
sync on:sync rate 0
colour1 = rgb(64,64,64):colour2 = rgb(112,112,112):posx as integer:post as integer:possin as integer
type vector2d x y colour endtype:dim colours(9) as dword
for i = 1 to 9:read r:read g:read b:colours(i) = rgb(r,g,b):next i:scl=6
read pointcount:read width:read height:posx=(width*scl*-1):dim vpoints(pointcount) as vector2d
for i = 1 to pointcount:read vpoints(i).x:read vpoints(i).y:read vpoints(i).colour:next i
do:cls
for i = 1 to pointcount-1:ink colours(vpoints(i).colour),0:line (vpoints(i).x*scl)+posx, post+(vpoints(i).y*scl), (vpoints(i+1).x*scl)+posx, post+(vpoints(i+1).y*scl):next i
post=screen height()/2+(sin(possin)*40)-(height*scl)/2:possin=wrapvalue(possin+3):inc posx,2:if posx>screen width()+(width*scl) then posx=(width*scl*-1)
box 0,0,15,screen height(),colour1,colour1,colour1,colour1:box screen width()-15,0,screen width(),screen height(),colour1,colour1,colour1,colour1
lft=sin(possin)*15:box lft,0,15,screen height(),colour1,colour1,colour2,colour2:box screen width(),0,screen width()-lft,screen height(),colour2,colour2,colour1,colour1
sync
loop
end
DATA 0,0,0,255,255,255,255,0,0,0,128,0,0,0,255,0,128,255,255,255,0,192,192,192,255,128,0,133,59,33
DATA 0,5,7 ,4,4,7 ,6,9,7 ,7,3,7 ,11,2,7 ,9,14,7 ,5,15,7 ,0,5,1 ,0,1,1 ,12,1,1 ,12,3,6 ,12,3,6 ,18,2,6 ,18,6,6 ,14,6,6 ,15,8,6 ,16,7,6 ,17,10,6 ,15,10,6 ,16,12,6 ,18,11,6 ,19,14,6 ,13,14,6 ,12,3,1 ,13,1,1 ,27,2,3 ,26,5,3 ,24,5,3 ,22,7,3 ,23,10,3
DATA 25,11,3 ,27,10,3 ,29,13,3 ,25,15,3 ,21,14,3 ,19,10,3 ,20,4,3 ,22,2,3 ,27,2,1 ,28,3,8 ,28,7,8 ,32,6,8 ,30,15,8 ,34,15,8 ,34,6,8 ,37,6,8 ,37,1,8 ,28,3,1 ,33,0,1 ,39,1,1 ,42,4,4 ,39,5,4 ,37,8,4 ,37,11,4 ,39,13,4 ,42,14,4 ,45,12,4 ,46,7,4 ,45,5,4
DATA 42,4,1 ,41,7,4 ,40,9,4 ,41,11,4 ,43,11,4 ,44,9,4 ,43,7,4 ,41,7,1 ,42,4,1 ,48,2,9 ,47,15,9 ,51,15,9 ,51,12,9 ,55,16,9 ,59,14,9 ,54,10,9 ,57,9,9 ,58,6,9 ,57,3,9 ,52,1,9 ,48,2,1 ,50,4,9 ,54,5,9 ,53,8,9 ,51,9,9 ,50,4,1 ,48,2,1 ,47,3,1 ,45,16,1
DATA 15,18,9 ,11,30,9 ,15,32,9 ,17,29,9 ,20,32,9 ,25,29,9 ,20,17,9 ,15,18,1 ,17,21,9 ,19,22,9 ,20,27,9 ,16,26,9 ,17,21,1 ,15,18,1 ,14,16,1 ,22,16,1 ,27,18,5 ,26,32,5 ,31,32,5 ,30,28,5 ,34,33,5 ,39,30,5 ,34,27,5 ,37,24,5 ,38,21,5 ,36,18,5 ,32,17,5
DATA 27,18,1 ,30,20,5 ,31,25,5 ,34,23,5 ,34,20,5 ,31,19,5 ,30,20,1 ,27,18,1 ,28,16,1 ,40,17,7 ,49,18,7 ,49,22,7 ,45,23,7 ,46,30,7 ,41,31,7 ,42,23,7 ,39,22,7 ,40,17,7