'
'
'
'                 IMITACIàN DE FUEGOS ARTIFICIALES
'
'                 HECHO EN RONDA
'
'                           
'
' ALEATORIO:
'   VALOCIDAD DE LANZAMIENTO DE LAS PIEDRAS
'   RADIO DE LOS CIRCULOS
'   RADIO DE LAS EXPLOXIONES
'   COLORES
'   SONIDO
'
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'
'
DECLARE SUB EXPL (X!, Y!)
DECLARE SUB bola (X!, Y!)
RANDOMIZE TIMER
SCREEN 12
 
  
 

DO

XS = INT(RND * 610) + 30
YS = INT(RND * 400) + 30
CLB = INT(RND * 14) + 2
V = RND * 150
RB = INT(RND * 150) + 1
CIRCLE (XS, YS), RB, CLB
PAINT (XS, YS), CLB, CLB
 


FOR T = 1 TO 90
X = (V * T / 10)
Y = (5 * ((T / 10) ^ 2))
IF X > 639 THEN :  EXIT FOR:  ELSE : bola X, Y

NEXT






XS = INT(RND * 610) + 30
YS = INT(RND * 400) + 30
CLB = INT(RND * 14) + 2
V = RND * 150
RB = INT(RND * 150) + 1
CIRCLE (XS, YS), RB, CLB
PAINT (XS, YS), CLB, CLB



FOR T = 1 TO 90
   X = 640 - (V * T / 10)
   Y = (5 * (T / 10) ^ 2)
   IF X < 0 THEN : EXIT FOR:  ELSE : bola X, Y

NEXT

  
LOOP WHILE INKEY$ = ""

SUB bola (X, Y) STATIC

SELECT CASE POINT(X, Y)

CASE 0
 CLBL = INT(RND * 14) + 2
 CIRCLE (X, Y), 3, CLBL
 PAINT (X, Y), CLBL, CLBL
 FOR g = 1 TO 300: NEXT
 CIRCLE (X, Y), 3, 0
 PAINT (X, Y), 0, 0
   
CASE ELSE
 SOUND INT(RND * 900) + 100, 1.2
 EXPL X, Y
END SELECT

END SUB

SUB EXPL (X, Y)
 CLE = INT(RND * 14) + 2
 radius = INT(RND * 200) + 1


  IF Mode = 9 THEN Inc = .5 ELSE Inc = .41

  FOR c = 0 TO radius STEP Inc
    CIRCLE (X, Y), c, CLE
  NEXT c

  FOR c = radius TO 0 STEP (-1 * Inc)
    CIRCLE (X, Y), c, 0
  '   FOR i = 1 TO 2
 '   NEXT
  NEXT

END SUB

