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 |