SCREEN 640,480,16,0
FrameLimit 40
Type pp
Field x As Float
Field y As Float
Field a As Float
Field l
Field s As Float
Field k
Field r As Float
Field g As Float
Field b As Float
EndType
Repeat
If Timer()-alku>lauk Then
p.pp = New(pp)
p\x=Rand(ScreenWidth())
p\y=ScreenHeight()//alareunaan
p\a=Rand(70,110)
p\l=Timer()+Rand(2000,4000)
p\s=Rnd(2.1,4.4)
p\r=Rand(100,200)+50
p\g=Rand(100,200)+50
p\b=Rand(100,200)+50
alku=Timer()
lauk=Rand(1,1250)
EndIf
For p.pp = Each pp
p\x=p\x+Cos(p\a)*p\s
p\y=(p\y-Sin(p\a)*p\s)+gravity
If p\r>0 Or p\g>0 Or p\b>0 Then
If p\k=1 Then
p\r=p\r-PI
p\g=p\g-PI
p\b=p\b-PI
Else
p\r=p\r-1
p\g=p\g-1
p\b=p\b-1
EndIf
EndIf
If p\k=0 Then
If Timer()-p\l > 0 Or p\x<0 Or p\x>ScreenWidth() Or p\y<0 Then
num=Rnd(10,20)
For i=0 To (360/(num))
ap.pp = New(pp)
ap\x=p\x
ap\y=p\y
ap\a=i*num
ap\l=Timer()+Rand(2000,3000)
ap\s=Rnd(0.2,2.0)
ap\k=1
ap\r=p\r
ap\g=p\g
ap\b=p\b
Next i
Delete p
EndIf
ElseIf Timer()-p\l>0 And p\k=1 Then
Delete p
EndIf
For i=1 To 5
Color (p\r-(i*2))*((p\r-(i*2))>=0),(p\g-(i*2))*((p\g-(i*2))>=0),(p\b-(i*2))*(p\b-(i*2)>=0)
Box p\x+Cos(180+p\a)*i,p\y-Sin(180+p\a)*i,2,2
Next i
Next p
DrawScreen
Forever
Lisätkää toki omat ilotulitukenne mukaan ja kommentoikaa.
FrameLimit 50
pam = LoadSound("media/cannon.wav")
SCREEN 640,480,16,cbfullscreen
Type ilotulitus
Field X As Float
Field Y As Float
Field kulma As Float
Field aika
Field säde As Float
Field väri As Float
Field väri2 As Float
Field väri3 As Float
Field kaava As Float
Field aika_max
EndType
sw = ScreenWidth()
sh = ScreenHeight()
Repeat
aika + 1
If aika > aika_max Then
aika_max = Rand(30,70)
i.ilotulitus = New (ilotulitus)
i\aika_max = Rand (30,150)
i\Y = sh+10
i\X =Rand (10,sw-10)
i\kulma = Rand(70,100)
i\väri = Rand(0,255) : If i\väri < 235 Then i\väri + 20
i\väri2 = Rand(0,255) : If i\väri2 < 235 Then i\väri2 + 20
i\väri3 = Rand (0,255) : If i\väri3 < 235 Then i\väri3 + 20
i\kaava =Rnd(4.343,-2.6345)
aika = 0
EndIf
For i.ilotulitus = Each ilotulitus
i\aika + 1
If i\aika > i\aika_max Then
If i\aika > i\aika_max And i\aika < i\aika_max + 2 Then PlaySound pam
For a = 0 To 360 Step 15
i\säde + 0.1
If i\väri > 1 Then i\väri - 0.12
If i\väri2 > 1 Then i\väri2 - 0.12
If i\väri3 > 1 Then i\väri3 - 0.12
Color i\väri,i\väri2,i\väri3
Box i\X+Cos(a)*Sin(a*i\kaava)*i\säde,i\Y-Sin(a)*Cos(a*5.3453)*i\säde,2,2,1
Next a
EndIf
If i\aika_max >= 35 Then i\kulma = i\kulma + 0.2 Else i\kulma = i\kulma -0.2
If i\aika < i\aika_max Then
i\X = i\X + Cos(i\kulma)*3.5
i\Y = i\Y - Sin(i\kulma)*3.5
Color i\väri,i\väri2,i\väri3
Line i\X,i\Y,i\x+Cos(i\kulma)*4,i\Y-Sin(i\kulma)*4
EndIf
If i\väri < 0 Then Delete i : Exit
Next i
DrawScreen 1
Forever