Qbasicnews.com
January 29, 2020, 03:15:56 AM
 Pages: [1]
 Author Topic: "Explosion"  (Read 5505 times)
Skyler
Ancient Guru

Posts: 564

 « on: January 04, 2007, 05:16:04 PM »

My "explosion":
Code:
randomize timer
type particles
x as integer
y as integer
vs as integer
va as integer
end type
const PARTICLE = 20000
dim sparks(PARTICLE) as particles
dim red(6,6)
dim white(6,6)
dim brown(6,6)
startx = 1024 / 2
starty = 768 / 2
xmot = 2
ymot = 2
for i = 1 to PARTICLE
sparks(i).x = startx
sparks(i).y = starty
sparks(i).vs = int(rnd * 10 + 1)
sparks(i).va = int(rnd * 359 + 1)
next i

screen 20
for x = 1 to 6
for y = 1 to 6
pset (x, y), c
next y
next x
get (0,0)-(6,6), red
cls
for x = 1 to 6
for y = 1 to 6
pset (x, y), c
next y
next x
get (0,0)-(6,6), white
cls
for x = 1 to 6
for y = 1 to 6
pset (x, y), c
next y
next x
get (0,0)-(6,6), brown

while inkey = ""
for i = 1 to PARTICLE
dist = sqr(((sparks(i).x - startx)^2) + ((sparks(i).y - starty)^2))
if dist < 150 then
put (sparks(i).x, sparks(i).y), white
elseif dist < 300 and dist > 150 then
put (sparks(i).x, sparks(i).y), red
elseif dist > 300 then
put (sparks(i).x, sparks(i).y), brown
end if
if sparks(i).va < 90 then
sparks(i).x = int(sin(sparks(i).va) * sparks(i).vs) + sparks(i).x
sparks(i).y = int(cos(sparks(i).va) * sparks(i).vs) + sparks(i).y
elseif sparks(i).va > 90 AND sparks(i).va < 180 then
a = sparks(i).va - 90
sparks(i).x = int(sin(sparks(i).va) * sparks(i).vs) + sparks(i).x
y = int(cos(sparks(i).va) * sparks(i).vs) + sparks(i).y
sparks(i).y = 2 * (starty - y) + starty
elseif sparks(i).va > 180 AND sparks(i).va < 270 then
a = sparks(i).va - 180
x = int(sin(sparks(i).va) * sparks(i).vs) + sparks(i).x
sparks(i).x = 2 * (startx - x) + startx
y = int(cos(sparks(i).va) * sparks(i).vs) + sparks(i).y
sparks(i).y = 2 * (starty - y) + starty
elseif sparks(i).va > 270 AND sparks(i).va < 360 then
a = sparks(i).va - 270
x = int(sin(sparks(i).va) * sparks(i).vs) + sparks(i).x
sparks(i).x = 2 * (startx - x) + startx
sparks(i).y = int(cos(sparks(i).va) * sparks(i).vs) + sparks(i).y
end if
if sparks(i).x > 1024 or sparks(i).x < 0 or sparks(i).y > 768 or sparks(i).y < 0 then
sparks(i).x = startx : sparks(i).y = starty
end if
next i
cls
startx = startx + xmot
starty = starty + ymot
if startx <= 0 or startx >= 1024 then xmot = -xmot
if starty <= 0 or starty >= 768 then ymot = -ymot
wend

data 0,0,4,4,0,0
data 0,4,4,4,4,0
data 4,4,4,4,4,4
data 4,4,4,4,4,4
data 0,4,4,4,4,0
data 0,0,4,4,0,0

data 0,0,14,14,0,0
data 0,14,14,14,14,0
data 14,14,14,14,14,14
data 14,14,14,14,14,14
data 0,14,14,14,14,0
data 0,0,14,14,0,0

data 0,0,6,6,0,0
data 0,6,6,6,6,0
data 6,6,6,6,6,6
data 6,6,6,6,6,6
data 0,6,6,6,6,0
data 0,0,6,6,0,0
 Logged

In the beginning, there is darkness – the emptiness of a matrix waiting for the light. Then a single photon flares into existence. Then another. Soon, thousands more. Optronic pathways connect, subroutines emerge from the chaos, and a holographic consciousness is born." -The Doctor
xteraco
Ancient QBer

Posts: 450

 « Reply #1 on: January 26, 2007, 10:09:08 PM »

Nice.
 Logged

url=http://www.random-seed.net][/url]
Forum Regular

Posts: 140

 « Reply #2 on: January 28, 2007, 01:41:37 AM »

I would say it looks rather cool
 Logged

I'm a dog and I feel dirty baby
Skyler
Ancient Guru

Posts: 564

 « Reply #3 on: January 29, 2007, 09:57:35 PM »

Needs more details though. Like a cloud. Plasma. Yeah.
 Logged

In the beginning, there is darkness – the emptiness of a matrix waiting for the light. Then a single photon flares into existence. Then another. Soon, thousands more. Optronic pathways connect, subroutines emerge from the chaos, and a holographic consciousness is born." -The Doctor
 Pages: [1]