Computer Science Canada

stars warp 9?

Author:  Homer_simpson [ Tue Jan 12, 2010 11:18 pm ]
Post subject:  stars warp 9?

product of boredom
Quote:
View.Set ("graphics:500;500,offscreenonly")
const maxP := 300
const zoom := 10
const far := 2000
const blur := 5
colorback (black)
cls

type particle_t :
record
x, y, z, v : real
end record


proc setP (var p : particle_t, x, y, z, v : real)
p.x := x
p.y := y
p.z := z
p.v := v
end setP


proc drawP (var p : particle_t)
if p.z > 3 * p.v then
%drawfilloval (round (p.x / p.z * zoom) + (maxx div 2), round (p.y / p.z * zoom) + (maxy div 2), 1, 1, white)
for i : 1 .. blur
drawdot (round (p.x / (p.z + (p.v * i)) * zoom) + (maxx div 2), round (p.y / (p.z + (p.v * i)) * zoom) + (maxy div 2), white)
end for
end if
end drawP



var pList : array 1 .. maxP of particle_t

for i : 1 .. maxP
setP (pList (i), Rand.Int (-10000, 10000), Rand.Int (-10000, 10000), Rand.Int (0, far), Rand.Int (50, 100) / 100)
end for

loop
for i : 1 .. maxP
drawP (pList (i))
if pList (i).z < 0 then
setP (pList (i), Rand.Int (-10000, 10000), Rand.Int (-10000, 10000), Rand.Int (0, far), Rand.Int (50, 100) / 100)
else
pList (i).z -= pList (i).v
end if
end for
View.Update
cls
end loop


or if you like...

Quote:
View.Set ("graphics:500;500,offscreenonly")
const maxP := 300
const zoom := 1
const far := 300
const blur := 5
colorback (black)
cls

type particle_t :
record
x, y, z, v : real
end record


proc setP (var p : particle_t, x, y, z, v : real)
p.x := x
p.y := y
p.z := z
p.v := v
end setP


proc drawP (var p : particle_t)
if p.z > 3 * p.v then
%drawfilloval (round (p.x / p.z * zoom) + (maxx div 2), round (p.y / p.z * zoom) + (maxy div 2), 1, 1, white)
for i : 1 .. blur
drawdot (round (p.x / (p.z + (p.v * i)) * zoom) + (maxx div 2), round (p.y / (p.z + (p.v * i)) * zoom) + (maxy div 2), white)
end for
end if
end drawP



var pList : array 1 .. maxP of particle_t

for i : 1 .. maxP
setP (pList (i), Rand.Int (-10000, 10000), Rand.Int (-10000, 10000), Rand.Int (0, far), Rand.Int (50, 100) / 100)
end for

loop
for i : 1 .. maxP
drawP (pList (i))
if pList (i).z < 0 then
setP (pList (i), Rand.Int (-10000, 10000), Rand.Int (-10000, 10000), Rand.Int (0, far), Rand.Int (50, 100) / 100)
else
pList (i).z -= pList (i).v
end if
end for
View.Update
cls
end loop

Author:  ProgrammingFun [ Thu Jan 28, 2010 10:43 pm ]
Post subject:  RE:stars warp 9?

I like the second one better, it is faster and more interesting.

Author:  jdubzisyahweh [ Wed Feb 24, 2010 11:53 am ]
Post subject:  Re: stars warp 9?

sooooooooooooooooooo trippy


: