more informative version:
Graphics 800,600,32,2 SetBuffer BackBuffer() txt$="Quick Brown Fox Jumps Over The Lazy Dog" ;this is how I cheated to find the correct length of the array Print Len(txt) ;dump the string into an array lenght of the message Dim msg$(39) For f = 1 To 39 msg(f)=Mid(txt,f,1) Next x=10 aStep=5 amp=100 freq=10 a%=0 While Not KeyHit(1) If KeyHit(200) Then freq=freq+1;uparrow If KeyHit(208) Then freq=freq-1;downarrow If KeyHit(30) Then amp=amp+5;a key If KeyHit(44) Then amp=amp-5;z key If KeyHit(52) Then x=x+1;> key If KeyHit(51) Then x=x-1;< key If KeyHit(205) Then aStep=astep+1;arrowkey If KeyHit(203) Then aStep=astep-1;arrowkey Cls Text 0,10, "aStep:"+astep + "(arrow keys) (speed of oscillation)" Text 0,25,"x :"+x +"(<> keys) distance between characters" Text 0,40,"amp :"+amp+"(az keys) height of the wave" Text 0,55,"freq :"+freq+"(arrow keys) number of waves" For f=1 To 39 Textwave(100,300,x,amp,freq,a,msg(f),f) Next a=a+aStep if a>360 Then a=a-360 If a<0 then a=a+360 Flip Wend Function TextWave(xstart,ystart,xdisplacement,amplitude,frequency,angle,character$,index) Text (xstart+xdisplacement*index,ystart+amplitude*Sin(angle+index*frequency),character) End Function