Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Little firework demo
#1
hej guys

I took the time to give FB a little try.
Here's a qb quick-hack-port of a firework demo.
It uses the standard gfx library.
If things go to fast then put in a delay.
Have fun playing with it.
Oh i forgot, press e to quit and p for fireworks

Code:
DECLARE SUB createparticle (x!, Y!, sizex!, sizey!, cnt!)
DECLARE SUB doparticle ()
DECLARE SUB setpalette ()

'Lill firework demo by PvZ
DEFINT A-Z
TYPE prttype
x AS SINGLE
Y AS SINGLE
vx AS SINGLE
vy AS SINGLE
s AS SINGLE
c AS INTEGER
END TYPE
DIM SHARED part(15000) AS prttype



screen 18, ,2, 1
setpalette
screenset 1,0
DO
cls
Print "Fireworks!"

FOR a = 1 TO 15000
IF part(a).s > 0 THEN
part(a).x = part(a).x + part(a).vx
part(a).Y = part(a).Y + part(a).vy
part(a).vy = part(a).vy + .03
IF part(a).x > 0 AND part(a).x < 319 THEN
IF part(a).Y > 0 AND part(a).Y < 199 THEN
pset (int(part(a).x), int(part(a).Y)), int(part(a).c + part(a).s / 2.5)
END IF
END IF
part(a).s = part(a).s - 1.3
IF part(a).s < 20 THEN
pset  ((INT(part(a).x + RND * 4 - 2)), (INT(part(a).Y + RND * 4 - 2))), part(a).c + 63
END IF
ELSE
part(a).s = 0
END IF
NEXT a

SELECT CASE INKEY$
CASE "e": e = 1
CASE "p"
d = 0
dx = RND * 639
dy = RND * 400
dd = RND * 3
FOR a = 1 TO 1500
IF part(a).s = 0 THEN
d = d + 1
part(a).x = dx + RND * 5
part(a).Y = dy + RND * 5
SELECT CASE dd
CASE 0: part(a).c = 64
CASE 1: part(a).c = 128
CASE 2: part(a).c = 192
CASE 3: part(a).c = 0
END SELECT
v# = RND * .8 + .1
th = RND * 359
part(a).vx = v# * SIN(th)
part(a).vy = v# * COS(th) - 1.8
part(a).s = 70 + RND * 120
END IF
IF d >= 1000 THEN EXIT FOR
NEXT a

END SELECT
screencopy
LOOP UNTIL e = 1


SUB setpalette
FOR a = 0 TO 63
clr = a or (0 shl 8) or (0 shl 16)
palette a,clr
clr = 0 or (a shl 8) or (0 shl 16)
palette a+ 64, clr
clr = a or (a shl 8) or (0 shl 16)
palette a + 128, clr
clr = 0 or (0 shl 8) or (a shl 16)
palette a+192, clr
NEXT a
END SUB
xpect to see some great stuff from us...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)