Microsoft Small Basic

Program Listing: LGQ874
pp=LDCommPort.OpenPort ("COM9" 115200)
TextWindow.WriteLine (pp)
nn=text.GetCharacter (10)

mm[1][1]=LDText.Split ("1 - - - 1 - - -" " ")
mm[1][2]=LDText.Split ("1 - 1 - 1 - 1 -" " ")
mm[1][3]=LDText.Split ("1 - - - 1 - 1 -" " ")
mm[1][4]=LDText.Split ("1 - 1 - 1 - 1 -" " ")
mm[1][5]=LDText.Split ("1 - - - 1 - - -" " ")

mm[2][1]=LDText.Split ("1 - - - 1 - - -" " ")
mm[2][2]=LDText.Split ("1 1 1 - 1 1 1 -" " ")
mm[2][3]=LDText.Split ("1 - - - 1 - - -" " ")
mm[2][4]=LDText.Split ("1 1 1 - 1 - 1 1" " ")
mm[2][5]=LDText.Split ("1 - - - 1 - - -" " ")

mm[3][1]=LDText.Split ("1 1 - 1 1 1 - -" " ")
mm[3][2]=LDText.Split ("1 - - 1 1 - 1 1" " ")
mm[3][3]=LDText.Split ("1 1 - 1 1 - - 1" " ")
mm[3][4]=LDText.Split ("1 1 - 1 1 - 1 -" " ")
mm[3][5]=LDText.Split ("1 - - - 1 1 - 1" " ")

mm[4][1]=LDText.Split ("1 - - - 1 - - -" " ")
mm[4][2]=LDText.Split ("1 - 1 - 1 - 1 1" " ")
mm[4][3]=LDText.Split ("1 - - - 1 - - -" " ")
mm[4][4]=LDText.Split ("1 1 1 - 1 1 1 -" " ")
mm[4][5]=LDText.Split ("1 - - - 1 - - -" " ")

mm[5][1]=LDText.Split ("1 1 - 1 1 - - -" " ")
mm[5][2]=LDText.Split ("1 - 1 1 1 1 1 -" " ")
mm[5][3]=LDText.Split ("1 - - - 1 1 1 -" " ")
mm[5][4]=LDText.Split ("1 1 - 1 1 1 - 1" " ")
mm[5][5]=LDText.Split ("1 1 - 1 1 - 1 1" " ")

Timer.Interval=1000
Timer.Tick=ttt

Sub ttt
s1=s
While s1=s
s1=math.GetRandomNumber (5)
EndWhile
s=s1
endsub
s=1
ff=3 'lamp brightness factor
While "true
For t=0 To 17
For x=0 To 39
co=text.Append(x+" " math.Abs(math.floor(ldmath.Sin(t*10)*10*ff)))+" "+Text.Append (15*ff-Math.floor(x/3) " "+Math.floor(x/3)*ff)
If mm[s][Math.floor(x/8)+1] [Math.Remainder (x 8)+1]="1" Then
co=text.Append(x+" " "0 0 0")
endif
rr=LDCommPort.TXString (co+nn)
Program.Delay (2)
endfor
Program.Delay (15)
endfor
EndWhile