For this one, I selected all the Chr$ symbols
minus anything with capital letters.
restore symbol
read char
dim num(char)
for a=1 to char
read num(a)
next a
tails=64
tail=12
dim gap(tails)
dim go(tails)
dim en(tails)
dim x(tails)
dim y(tails)
dim z(tail,tails)
for a=1 to tails
gap(a)=1
en(a)=int(ran(100))/10
x(a)=(a-1)*10
y(a)=int(ran(50))*12
for b=1 to tail
z(b,a)=int(ran(char))+1
next b
next a
open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
for a=1 to tails
go(a)=go(a)+gap(a)
en(a)=en(a)+.1
if en(a)>7 en(a)=0
if go(a)>en(a) go(a)=1
if go(a)>en(a)-1 y(a)=y(a)+12
if y(a)>520+(tail*12) then
y(a)=0
for b=1 to tail
z(b,a)=int(ran(char))+1
next b
endif
for b=1 to tail
setrgb 1,0,255+tail-(b*(255/tail)),0
text x(a),y(a)-(b*12),chr$(num(z(b,a)))
next b
next a
until (1=0)
label symbol
data 120
data 033,034,035,036,037,038,039,040,041,042
data 043,044,045,046,047,048,049,050,051,052
data 053,054,055,056,057,058,059,060,061,062
data 063,064,091,092,093,094,095,096,097,098
data 099,100,101,102,104,105,107,108,109,110
data 111,114,115,116,117,118,119,120,122,123
data 124,125,126,128,130,132,133,134,135,136
data 137,138,139,140,145,146,147,148,149,150
data 151,152,154,155,158,161,162,163,164,166
data 167,168,169,170,171,172,173,174,175,176
data 177,178,179,180,182,183,185,186,187,188
data 189,190,215,221,222,223,230,247,248,254