Graphics 800, 600, 0, 2
SetBuffer BackBuffer()
font=LoadFont("Arial",300)
SetFont font
Type bubble
Field image
Field x#
Field y#
Field s
End Type
For i = 0 To 25
Cls
r# = Rand(5,80)
x# = 0
y# = 0
d# = Rnd(0,1)
Color 128*d,0,0
Oval x, y, r, r
Color 64*d,0,0
Oval x+r/4,y+r/4,r/1.5,r/1.5
Color 128*d,0,0
Oval x+r/4.2,y+r/4.2,r/1.6,r/1.6
Color 255*d,255*d,255*d
Oval x+r*0.2, y+r*0.2, r*0.3,r*0.3
image=CreateImage(r,r)
GrabImage image, 0, 0
bu.bubble = New bubble
bu\x=Rand(800-r)
bu\y=Rand(600-r)
bu\image=image
bu\s=r
Next
a#= 0.0000001
b# = 0.0005
c#=0.1
d#=0.001
e#=-0.01
time# = - 1000
p# = 1
ClsColor 255, 0, 0
rg#=1
gg#=0
bg#=0
Repeat
ic=(ic Mod 2) + 1
Select ic
Case 1
rg#=1
bg#=0
gg#=0
Case 2
rg=1
gg=1
bg=1
End Select
ClsColor 255*rg,255*gg,255*bg
Cls
If Rand(60) < 20 Then txt$ = "PUKI" Else txt$ = "LARGE!"
Color 250*rg, 250*gg, 250*bg: Text 400, 300, txt$, 1, 1
Color 0, 255, 0
zz = (zz + 5) Mod 100
For i = 0 To 150 Step 25
Oval 400 - i * 4 - zz, 300 - i * 4 - zz, i * 8 + zz * 2, i * 8 + zz * 2, 0
Next
For bu.bubble = Each bubble
yy# = (bu\y+offset)
While yy < 0: yy=yy+600:Wend
yy=yy Mod 800
DrawImage bu\image, bu\x, yy#
bu\y=bu\y-bu\s*0.05
If bu\y < -bu\s Then bu\y = bu\y + 680
Next
time# = time# + 5
Color 255*(1-rg),255*(1-gg),255*(1-bg)
For dx# = -400 To 400
x# = dx + time#
y# = (a * (x*x*x*x)) + (b * (x*x*x)) + (c * (x*x)) + (d * (x))
px# = dx + 400
py# = y / 200
If dx = 0 Then offset=py-400
py=py-offset
Rect px-5,py-5,10,10
Next
Flip
Until KeyHit(1)
End