Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 stars warp 9?
Index -> Programming, Turing -> Turing Submissions
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Homer_simpson




PostPosted: 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
Sponsor
Sponsor
Sponsor
sponsor
ProgrammingFun




PostPosted: 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.
jdubzisyahweh




PostPosted: Wed Feb 24, 2010 11:53 am   Post subject: Re: stars warp 9?

sooooooooooooooooooo trippy
Display posts from previous:   
   Index -> Programming, Turing -> Turing Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 3 Posts ]
Jump to:   


Style:  
Search: