' This program exported from BASIC Anywhere Machine (Version [5.2.3].[2024.09.09.00.00]) on 2025.11.10 at 00:29 (Coordinated Universal Time)
' This is a port and mod, by Charlie Veniot, of a QBJS program by bplus, shared with the QB64pe community
' (https://qb64phoenix.com/forum/showthread.php?tid=2001&pid=19770)
' Converted to QBJS from specbas sample by ZXDunny
' PROG demos:graphics/deep field
' REM Deep Field by P Malin
_TITLE( "Deep Field" )
SCREEN _NEWIMAGE( _WINDOWWIDTH - 5, _WINDOWHEIGHT - 5, 32 )
CONST pal(1 TO 5) = { &HFF0000,_
&HFF8000,_
&HFFFF00,_
&HFFFF80,_
&HFFFFFF}
DIM g, t1, q1, u1, v1, a, r, q, a1, m, c, i1, s, t, d, z, x1, u, clr, _
points( XMAX, YMAX )
🏁LoopStart:
CLS
FOR x = 0 TO XMAX : FOR Y = 0 TO YMAX : LET points(x,y) = 0 : NEXT Y,X
FOR g = -64 TO 800
LET t1 = RND * 99
q1 = RND * 99
u1 = RND * _WIDTH
v1 = RND * _HEIGHT
a = RND * 3
r = 90 / ( 1 + RND * 200 )
q = 1 + r * ( .5 + RND / 2 )
a1 = 1 + 3 * RND ^ 2
m = 1
c = ( 1 + 3 * RND ^ 2 ) * r * r
IF RND * 9 < 4 THEN LET q = r, t1 = 0, q1 = 0, a = 0, m = _PI / 3, a1 = 1
FOR i1 = 0 TO c
LET s = -LOG(RND)
t = i1 * M
u = s * r * SIN(t)
v = s * q * COS(t)
t = s * a
x = u * COS(t) + v * SIN(t)
y = v * COS(t) - u * SIN(t)
d = ( x * x + y * y ) / ( r * r + q * q )
z = 99 * ( ( 2.7 ^ -d ) + .1 )
z = z * ( RND - .5 ) ^ 3
y1 = y * COS(t1) + z * SIN(t1)
z = z * COS(t1) - Y * SIN(t1)
x1 = u1 + x * COS(q1) + y1 * SIN(q1)
y1 = v1 - x * SIN(q1) + y1 * COS(q1)
x1p = CINT(x1)
y1p = CINT(y1)
clr = CINT( MIN( 5, MAX( 0, points( x1p, y1p ) ) + a1 ) )
IF BETWEEN( x1p, 0, XMAX ) AND BETWEEN( Y1p, 0, YMAX ) _
THEN
PSET ( x1p, y1p ), pal(clr)
LET points( x1p, y1p ) = clr
IF i1 MOD 9 = 0 THEN SLEEP 0.001
END IF
NEXT i1
NEXT g
FOR i = 4 TO 0 STEP -1 : SOUND 20, 1 : SLEEP 2 : NEXT I
GOTO 🏁LoopStart