particle thing
Author |
Message |
Homer_simpson
![](http://compsci.ca/v3/uploads/user_avatars/18138546704b4d2a3b2e50e.gif)
|
Posted: Thu Sep 25, 2008 12:13 am Post subject: particle thing |
|
|
Quote: colorback (black)
cls
color (white)
put "Enter Max Number of Particles [recommended = 1000]:"
var mx := 0
get mx
cls
View.Set ("offscreenonly")
%%%%%%%%%%Declaring projectile type as an object%%%%%%%%%%5
type projectile_t :
record
startx, starty, x, y, angle, weight, life, bounciness, time1 : real
end record
var projectile_a : array 1 .. mx of projectile_t
procedure Reset (var projectile_a : projectile_t, v1, v2, a1, a2, w1, w2, b1, b2 : int)
projectile_a.startx := 0
projectile_a.starty := 0
projectile_a.life := Rand.Int (v1, v2)
projectile_a.angle := Rand.Int (a1, a2)
projectile_a.weight := Rand.Int (w1, w2)
projectile_a.time1 := 0
end Reset
procedure Projectile (var obj : projectile_t)
obj.x := (obj.time1 * cosd (obj.angle)) + obj.startx
% obj.y := (obj.time1 * sind (obj.angle)) + obj.starty
obj.y := (obj.time1 * sind (obj.angle) - ((obj.weight*obj.time1/10)**2)) + obj.starty
obj.time1 += 1
end Projectile
for i : 1 .. upper (projectile_a)
Reset (projectile_a (i), 2, 200, 0, 180, 1, 1, 10, 30)
end for
loop
for i : 1 .. upper (projectile_a)
%Reset (projectile_a (i))
projectile_a (i).time1 += .1
Projectile (projectile_a (i))
drawdot (round (projectile_a (i).x) + 320, round (projectile_a (i).y) + 200, white)
if projectile_a (i).life < projectile_a (i).time1 then
Reset (projectile_a (i), 2, 200, 0, 180, 1, 1, 10, 30)
end if
end for
%drawline (0, 45, maxx, 45, white)
View.Update
cls
end loop
|
|
|
|
|
![](images/spacer.gif) |
Sponsor Sponsor
![Sponsor Sponsor](templates/subSilver/images/ranks/stars_rank5.gif)
|
|
![](images/spacer.gif) |
Homer_simpson
![](http://compsci.ca/v3/uploads/user_avatars/18138546704b4d2a3b2e50e.gif)
|
Posted: Thu Sep 25, 2008 12:25 am Post subject: Re: particle thing |
|
|
and this one too
Quote: colorback (black)
cls
color (white)
put "Enter Max Number of Particles [recommended = 1000]:"
var mx := 0
get mx
cls
View.Set ("offscreenonly")
%%%%%%%%%%Declaring projectile type as an object%%%%%%%%%%5
type projectile_t :
record
startx, starty, x, y, angle, weight, life, bounciness, time1 : real
end record
var projectile_a : array 1 .. mx of projectile_t
procedure Reset (var projectile_a : projectile_t, v1, v2, a1, a2, w1, w2, b1, b2 : int)
projectile_a.startx := 0
projectile_a.starty := 0
projectile_a.life := Rand.Int (v1, v2)
projectile_a.angle := Rand.Int (a1, a2)
projectile_a.weight := Rand.Int (w1, w2)
projectile_a.time1 := 0
end Reset
procedure Projectile (var obj : projectile_t)
obj.x := (obj.time1 * cosd (obj.angle)) + obj.startx
% obj.y := (obj.time1 * sind (obj.angle)) + obj.starty
obj.y := (obj.time1 * sind (obj.angle) - ((obj.weight * obj.time1 / 10) ** 2)) + obj.starty
obj.time1 += 1
end Projectile
for i : 1 .. upper (projectile_a)
Reset (projectile_a (i), 2, 200, 0, 180, 1, 1, 10, 30)
end for
var d : int := 0
loop
d += 1;
d := d mod 360
for i : 1 .. upper (projectile_a)
%Reset (projectile_a (i))
projectile_a (i).time1 += .1
Projectile (projectile_a (i))
drawdot (round (projectile_a (i).x) + 320, round (projectile_a (i).y) + 200, 15+round(20*(projectile_a (i).time1 / projectile_a (i).life)))
if projectile_a (i).life < projectile_a (i).time1 then
Reset (projectile_a (i), 2, 200, round ((sind (d) * 40) + 70), round ((sind (d) * 40) + 95), 1, 1, 10, 30)
end if
end for
%drawline (0, 45, maxx, 45, white)
View.Update
cls
end loop
|
|
|
|
|
![](images/spacer.gif) |
Homer_simpson
![](http://compsci.ca/v3/uploads/user_avatars/18138546704b4d2a3b2e50e.gif)
|
Posted: Thu Sep 25, 2008 12:37 am Post subject: Re: particle thing |
|
|
wind effect
Quote: colorback (black)
cls
color (white)
put "Enter Max Number of Particles [recommended = 1000]:"
var mx := 0
get mx
cls
View.Set ("offscreenonly")
%%%%%%%%%%Declaring projectile type as an object%%%%%%%%%%5
type projectile_t :
record
startx, starty, x, y, angle, weight, life, bounciness, time1 : real
end record
var projectile_a : array 1 .. mx of projectile_t
procedure Reset (var projectile_a : projectile_t, v1, v2, a1, a2, w1, w2, b1, b2 : int)
projectile_a.startx := 0
projectile_a.starty := 0
projectile_a.life := Rand.Int (v1, v2)
projectile_a.angle := Rand.Int (a1, a2)
projectile_a.weight := Rand.Int (w1, w2)
projectile_a.time1 := 0
projectile_a.bounciness := 1
end Reset
procedure Projectile (var obj : projectile_t)
obj.x := (obj.time1 * cosd (obj.angle)) + obj.startx + obj.bounciness
% obj.y := (obj.time1 * sind (obj.angle)) + obj.starty
obj.y := (obj.time1 * sind (obj.angle) - ((obj.weight * obj.time1 / 10) ** 2)) + obj.starty
obj.time1 += 1
end Projectile
for i : 1 .. upper (projectile_a)
Reset (projectile_a (i), 2, 200, 0, 360, 1, 1, 10, 30)
end for
var d : int := 0
loop
d += 1;
d := d mod 360
for i : 1 .. upper (projectile_a)
%Reset (projectile_a (i))
projectile_a (i).time1 += .1
Projectile (projectile_a (i))
drawdot (round (projectile_a (i).x) + 320, round (projectile_a (i).y) + 200, white) % 15 + round (20 * (projectile_a (i).time1 / projectile_a (i).life)))
if projectile_a (i).y + 200 < 180 then
projectile_a (i).bounciness := projectile_a (i).bounciness * 1.1
end if
if projectile_a (i).life < projectile_a (i).time1 then
Reset (projectile_a (i), 2, 200, round ((sind (d) * 20) + 0), round ((sind (d) * 20) + 160), 1, 1, 10, 30)
end if
end for
%drawline (0, 45, maxx, 45, white)
View.Update
cls
end loop
|
|
|
|
|
![](images/spacer.gif) |
StealthArcher
![](http://compsci.ca/v3/uploads/user_avatars/18949255664b176c4f1481b.jpg)
|
Posted: Thu Sep 25, 2008 3:03 am Post subject: RE:particle thing |
|
|
O_.
HOMER SIMPSUN?? HEre? uhhh...
Hi, don't believe we've ever met. |
|
|
|
|
![](images/spacer.gif) |
Warchamp7
![](http://compsci.ca/v3/uploads/user_avatars/1427564341464495e84ae65.gif)
|
Posted: Thu Sep 25, 2008 7:42 am Post subject: Re: RE:particle thing |
|
|
StealthArcher @ Thu Sep 25, 2008 3:03 am wrote: O_.
HOMER SIMPSUN?? HEre? uhhh...
Hi, don't believe we've ever met.
Also, these little programs of yours are pretty neat Homer |
|
|
|
|
![](images/spacer.gif) |
petree08
|
Posted: Mon Nov 03, 2008 11:25 am Post subject: RE:particle thing |
|
|
round (projectile_a (i).y) + 200, 15+round(20*(projectile_a (i).time1 / projectile_a (i).life))
i really like that draw dot paramater, nice color effect |
|
|
|
|
![](images/spacer.gif) |
Danjen
|
Posted: Mon Nov 03, 2008 6:28 pm Post subject: RE:particle thing |
|
|
Now, what are the differences between declaring a variable as a class, as opposed to making a variable a pointer to a class? |
|
|
|
|
![](images/spacer.gif) |
StealthArcher
![](http://compsci.ca/v3/uploads/user_avatars/18949255664b176c4f1481b.jpg)
|
Posted: Mon Nov 03, 2008 6:36 pm Post subject: RE:particle thing |
|
|
Same thing, in Turing, all 'class' variables are pointers to an instance. IIRC |
|
|
|
|
![](images/spacer.gif) |
Sponsor Sponsor
![Sponsor Sponsor](templates/subSilver/images/ranks/stars_rank5.gif)
|
|
![](images/spacer.gif) |
|
|