New one!
Three diffrent looking thunders in circle shape
Pic:
Code:
sync on
sync rate 60
cls
set display mode 1024,768,32
hide mouse
D3D_INIT
do
D3D_Color 0,0,0,55
D3D_BOX 0,0,screen width(),screen height()
d#=0.88
r=15
inc n
if n>2
n=0
CircleThund(screen width()/4,screen height()/2,100,d#,r)
CircleThund2(screen width()/2,screen height()/2,100,d#,r)
CircleThund3(screen width()-250,screen height()/2,100,d#,r)
endif
d3d_circle screen width()/2,screen height()/2,100,0
d3d_circle screen width()/4,screen height()/2,100,0
d3d_circle screen width()-250,screen height()/2,100,0
fastsync
while spacekey()=1:wait 5:endwhile
loop
Function CircleThund(x,y,Radius,d#,r)
fractal_line(x,y-radius,x,y,0.3,d#,r)
fractal_line(x,y+radius,x,y,0.3,d#,r)
fractal_line(x+radius,y,x,y,0.3,d#,r)
fractal_line(x-radius,y,x,y,0.3,d#,r)
fractal_line(x-(radius-30),y-(radius-30),x,y,0.3,d#,r)
fractal_line(x+(radius-30),y+(radius-30),x,y,0.3,d#,r)
fractal_line(x+(radius-30),y-(radius-30),x,y,0.3,d#,r)
fractal_line(x-(radius-30),y+(radius-30),x,y,0.3,d#,r)
Endfunction
Function CircleThund2(x,y,Radius,d#,r)
fractal_line(x,y-radius,x,y,0.3,d#,r)
fractal_line(x,y-radius,x-(radius-30),y-(radius-30),0.3,d#,r)
fractal_line(x,y+radius,x,y,0.3,d#,r)
fractal_line(x,y+radius,x+(radius-30),y+(radius-30),0.3,d#,r)
fractal_line(x+radius,y,x,y,0.3,d#,r)
fractal_line(x+radius,y,x+(radius-30),y-(radius-30),0.3,d#,r)
fractal_line(x-radius,y,x,y,0.3,d#,r)
fractal_line(x-radius,y,x-(radius-30),y+(radius-30),0.3,d#,r)
fractal_line(x-(radius-30),y-(radius-30),x,y,0.3,d#,r)
fractal_line(x-(radius-30),y-(radius-30),x-radius,y,0.3,d#,r)
fractal_line(x+(radius-30),y+(radius-30),x,y,0.3,d#,r)
fractal_line(x+(radius-30),y+(radius-30),x+radius,y,0.3,d#,r)
fractal_line(x+(radius-30),y-(radius-30),x,y,0.3,d#,r)
fractal_line(x+(radius-30),y-(radius-30),x,y-radius,0.3,d#,r)
fractal_line(x-(radius-30),y+(radius-30),x,y,0.3,d#,r)
fractal_line(x-(radius-30),y+(radius-30),x,y+radius,0.3,d#,r)
Endfunction
Function CircleThund3(x,y,Radius,d#,r)
fractal_line(x,y-radius,x-(radius-30),y-(radius-30),0.3,d#,r)
fractal_line(x,y+radius,x+(radius-30),y+(radius-30),0.3,d#,r)
fractal_line(x+radius,y,x+(radius-30),y-(radius-30),0.3,d#,r)
fractal_line(x-radius,y,x-(radius-30),y+(radius-30),0.3,d#,r)
fractal_line(x-(radius-30),y-(radius-30),x-radius,y,0.3,d#,r)
fractal_line(x+(radius-30),y+(radius-30),x+radius,y,0.3,d#,r)
fractal_line(x+(radius-30),y-(radius-30),x,y-radius,0.3,d#,r)
fractal_line(x-(radius-30),y+(radius-30),x,y+radius,0.3,d#,r)
Endfunction
function fractal_line(x1#,y1#,x2#,y2#,k#,d#,r)
dx#=x2#-x1#
dy#=y2#-y1#
if r<=0 or (dx#^2+dy#^2)<900
w=3
for s=2 to 1 step -1
D3D_COLOR 255,255,255,255.0/(s+1)^2
for x=-s*w+w-1 to s*w-w+1
for y=-s*w+w-1 to s*w-w+1
D3D_LINE x1#+x,y1#+y,x2#+x,y2#+y
next y
next x
next s
exitfunction
endif
mx#=(x1#+x2#)/2
my#=(y1#+y2#)/2
nx#=-dy#
ny#=dx#
repeat
m#=randf(-k#,k#)
x3#=mx#+nx#*m#
y3#=my#+ny#*m#
until x3#>0 and x3#<screen width() and y3#>0 and y3#<screen height()
fractal_line(x1#,y1#,x3#,y3#,k#*d#,d#,r-1)
fractal_line(x2#,y2#,x3#,y3#,k#*d#,d#,r-1)
endfunction
function randf(min#,max#)
d#=max#-min#
x#=rnd(d#*10000)/10000.0+min#
endfunction x#
[center]
Click for details!