Change warp to .1 for short trails.
Change warp to 2 for long trails.
You may have to adjust the sleep statement as needed.
Code: Select all
' Hyperspace by neil
Screen 19,8,1,1 'full screen mode
SetMouse 0,0,0
Randomize
Dim Shared AS Integer c,i
Dim Shared As Integer Ctrx = 400, Ctry = 300, Stars = 200
Dim Shared As Single Nx(stars), Ny(stars), zx(stars), dY(stars), clr(stars)
'change warp to .1 for short trails
'change warp to 2 for long trails
'.5 is the default warp speed
Dim As Single warp = .5
DIM As Integer Ox(stars), Oy(stars)
Sub Scramble
Nx(I) = Rnd * 50 + (Ctrx - 25): Ny(I) = Rnd * 50 + (Ctry - 25)
zx(I) = (Ctrx - Nx(I)): Dy(I) = (Ctry - Ny(I))
End Sub
FOR I = 1 TO stars
IF c > 15 THEN c = 0
c = c + 1
clr(I) = c
Next i
Do
For i = 1 TO stars
Line (156, 96)-(164, 104), 0, BF: Line (Ox(I), Oy(I))-(Nx(I), Ny(I)), 0
IF Nx(I) < -30 OR Nx(I) > 800 OR Ny(I) < -30 OR Ny(I) > 800 THEN Scramble
IF ABS(zx(I)) + ABS(dY(I)) = 0 THEN Scramble
Ox(I) = Nx(I): Oy(I) = Ny(I)
Nx(I) = Nx(I) - zx(I) * warp: Ny(I) = Ny(I) - dY(I) * warp
Line (Ox(I), Oy(I))-(Nx(I), Ny(I)), Clr(I)
Next I
'speed adjust as needed
sleep 50,1
Loop Until Inkey = chr(27)
End