10-08-2006, 05:48 AM
I made one last matrix thing, just for old time's sake.
Code:
#Include "fbgfx.bi"
Randomize Timer
Screenres 640, 480, 32,, GFX_FULLSCREEN
Type Char
X As Single
Y As Single
Spd As Single
Id As Integer
End Type
Dim Array( 1 To 40) As Char
Dim As Integer i, Xoro
Dim As String*1 Ink
For i = 1 To Ubound(Array)
Array(i).X = Int(Rnd*80) + 1
Array(i).Y = Int(Rnd*10) + 1
Array(i).Spd = Rnd+.05
Array(i).Id = Int(Rnd*2)
Next
Do
Ink = Inkey$
For i = 1 To Ubound(Array)
Array(i).Y += Array(i).Spd
Array(i).Id Xor = 1
Dim As Integer i2
For i2 = 0 To 12
Dim As Integer ny = Int(Array(i).Y+i2)
Dim As Integer col = 16+(i2*16)
Color(Rgb(0,col,0))
If ny>0 And ny<59 Then
Locate ny, Array(i).X
If ny = INT(Array(i).Y) Then
Print LTRIM$(Str$(Array(i).Id))
Else
Dim As integer tchar = Screen(ny, Array(i).x)
Print Chr$(tchar)
End If
End If
Next
If Array(i).Y>60 Then
Dim As Integer ci
Dim As Integer tRand
Do
tRand = Int(Rnd*80) + 1
Array(i).X = tRand
For ci=1 To Ubound(Array)
If Array(ci).X = tRand Then
If ci<>i then
tRand = -100
End If
End If
Next
Loop Until Array(i).X = tRand
Array(i).Y = -12
Array(i).Spd = Rnd+.05
Array(i).Id = Int(Rnd*2)
End If
Next
Sleep 20
Loop Until Ink = Chr$(27)