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
|