'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                              
DECLARE SUB letras (X!, Y!, TEXT$, escl!, clrs!, ang!, ancho!, relleno!)
DECLARE SUB pared (h!, v!, l!, a!)
DECLARE SUB coche (h!, v!)
DECLARE SUB cuadrito (hc!, vc!)
RANDOMIZE TIMER
SCREEN 13

'DRAW "bm311,195c10 r6hl4er2h"
'LINE (309, 191)-(317, 197), cf, BF

'DRAW "bm311,192c10 r6gl4fr2g"
'LINE (309, 192)-(317, 197), cf, BF

PALETTE 44, 63
CONST cf = 104
PAINT (1, 1), cf


pared 295, 0, 23, 188
pared 0, 0, 8, 188
LINE (0, 0)-(10, 4), cf, BF
LINE (0, 5)-(8, 5), 40, BF
pared 0, 188, 319, 11

LINE (297, 0)-(317, 189), 40, BF



LINE (297, 14)-(317, 0), 40, B
LINE (298, 13)-(316, 1), 24, BF
LINE (298, 13)-(316, 1), 28, B
PSET (307, 0), 28

LINE (35, 191)-(109, 197), 66, BF
letras 40, 195, "HECHO EN RONDA", 4, 42, 0, 1, 1

LINE (290, 191)-(308, 197), cf, BF
letras 290, 195, STR$(0), 4, 48, 0, 1, 1
LINE (309, 191)-(317, 197), cf, BF


inicio:
LINE (10, 191)-(30, 197), cf, BF
letras 10, 195, STR$(FRE(-2)), 4, 48, 0, 1, 1

FOR v = 11 TO 180 STEP 16
   FOR h = 10 TO 280 STEP 15
      IF RND < .1 AND v > 11 THEN
         LINE (h, v + 1)-STEP(13, 5), cf, BF
      ELSE
         cuadrito h, v
      END IF
   NEXT
NEXT


LINE (10, 11)-STEP(13, 6), cf, BF
DRAW "c10bm16,11d4nh2ne2"
h = 280
v = 10

FOR X = 0 TO 8
   LINE (307 - X, 12)-(307 + X, 2), 92, B
   FOR delay = 1 TO 100: NEXT
NEXT
coche h, v
FOR X = 8 TO 0 STEP -1
   LINE (307 - X, 12)-(307 - X, 2), 24
   LINE (307 + X, 12)-(307 + X, 2), 24
   FOR delay = 0 TO 800: NEXT
NEXT
LINE (h, v)-STEP(14, -7), cf, BF


DO
   IF POINT(h - 5, v) <> cf THEN n = 15: PSET (300, v), 44
   IF POINT(h + 20, v) <> cf THEN n = -15
   IF POINT(h + 20, v) = 44 THEN GOSUB ascensor
   ah = h
   av = v
   h = h + n
retorno:
   IF POINT(h, v + 2) = cf THEN GOSUB caida

   coche h, v
   SOUND h + v + 100, 1

   IF cai = 1 THEN : LINE (h, v)-STEP(13, -7), POINT(h, v), BF
   cai = 0
   IF POINT(ah + n, av) = cf THEN LINE (ah + n, av)-STEP(13, -7), cf, BF

LOOP WHILE INKEY$ = ""

END


caida:
cai = 1
v = v + 16
av = v
ah = h
coche h, v
LINE (h, v - 23)-STEP(13, 7), cf, BF

RETURN retorno:

ascensor:

coche h, v

SOUND 3000, 1
DRAW "bm310,193c10 r4gl2f"
FOR n = 13 TO v + 2
   LINE (297, n + 1)-(317, n - 13), 40, B
   LINE (298, n)-(316, n - 12), 24, BF
   LINE (298, n)-(316, n - 12), 28, B
   PSET (307, n - 13), 28

   planta = -INT((n - 12) / 16)
   LINE (290, 191)-(308, 197), cf, BF
   letras 290, 195, STR$(planta), 4, 48, 0, 1, 1
   FOR delay = 1 TO 3000: NEXT
NEXT
LINE (309, 191)-(317, 197), cf, BF


FOR X = 0 TO 8
   LINE (307 - X, n - 2)-(307 + X, n - 12), 92, B
   FOR delay = 0 TO 8000: NEXT
NEXT

coche h + 20, v
LINE (h, v)-STEP(14, -8), cf, BF
FOR delay = 1 TO 30000: NEXT

FOR X = 8 TO 0 STEP -1
   LINE (307 - X, n - 2)-(307 - X, n - 12), 24
   LINE (307 + X, n - 2)-(307 + X, n - 12), 24
   FOR delay = 0 TO 8000: NEXT
NEXT

SOUND 3000, 1
DRAW "bm310,195c10 r4hl2e"
FOR n = v + 2 TO 13 STEP -1
   LINE (297, n + 1)-(317, n - 13), 40, B
   LINE (298, n)-(316, n - 12), 24, BF
   LINE (298, n)-(316, n - 12), 28, B
   PSET (307, n - 13), 28
   planta = -INT((n - 12) / 16)
   LINE (290, 191)-(308, 197), cf, BF
   letras 290, 195, STR$(planta), 4, 48, 0, 1, 1
   FOR delay = 1 TO 3000: NEXT
NEXT
LINE (309, 192)-(317, 197), cf, BF



IF INKEY$ <> "" THEN END ELSE RETURN inicio:

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                            
SUB coche (h, v)
LINE (h, v - 2)-(h + 13, v - 4), 43, BF
LINE (h + 2, v - 5)-(h + 11, v - 7), 44, BF
LINE (h + 3, v - 4)-(h + 10, v - 6), 11, BF
LINE (h + 1, v)-(h + 3, v - 2), 1, B
LINE (h + 10, v)-(h + 12, v - 2), 1, B

END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                            
SUB cuadrito (hc, vc)
vcc = vc
FOR Nf = 29 TO 18 STEP -2
   vcc = vcc + 1
   LINE (hc, vcc)-STEP(13, 0), Nf
NEXT
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                                                LETRAS
SUB letras (X, Y, TEXT$, escl, clrs, ang, ancho, relleno)
IF relleno < 1 THEN : relleno = 1
FOR h = 1 TO ancho STEP relleno
FOR v = 1 TO ancho STEP relleno
ccc = POINT(X + h, Y + v)
PSET (X + h, Y + v), ccc
C$ = STR$(clrs): e$ = STR$(escl): a$ = STR$(ang)
FOR a = 1 TO LEN(TEXT$)
IF clrs > 255 THEN C$ = STR$(INT(RND * 15) + 1)
DRAW "S" + e$ + "C" + C$ + "ta" + a$
SELECT CASE UCASE$(MID$(TEXT$, a, 1))
CASE "A": DRAW "br2 u2nnr2u2r2d4"
CASE "B": DRAW "br2 u4r2dgnlfdnl2"
CASE "C": DRAW "br2 bu4 nr2d4r2"
CASE "D": DRAW "br2 u4rfd2glbr2"
CASE "E": DRAW "br2 bu4 nr2d2nr2d2r2"
CASE "F": DRAW "br2 bu4 nr2d2nr2d2br2"
CASE "G": DRAW "br2 bu4 nr2d4r2unld"
CASE "H": DRAW "br2 u2nu2r2nu2d2"
CASE "I": DRAW "br2 nu4"
CASE "J": DRAW "br2 nur2nu4"
CASE "K": DRAW "br2 u2 nu2ne2f2"
CASE "L": DRAW "br2 nu4r2"
CASE "M": DRAW "br2 u4f2e2d4"
CASE "N": DRAW "br2 u4f4nu4"
CASE "¤": DRAW "br2 u3f3u3bunl3bd4"
CASE "¥": DRAW "br2 u3f3u3bunl3bd4"
CASE "O": DRAW "br2 bu4 nr2d4r2nu4"
CASE "P": DRAW "br2 u2nnr2u2r2d2bd2"
CASE "Q": DRAW "br2 bu4 nr2d4renu3blf"
CASE "R": DRAW "br2 u4r2d2l2f2"
CASE "S": DRAW "br2 r2u2l2u2r2BD4"
CASE "T": DRAW "br2 BU4r2nd4r2bd4"
CASE "U": DRAW "br2 nu4r2nu4"
CASE "V": DRAW "br2 bunu3fenu3bd"
CASE "W": DRAW "br2 bunu3fenu2fenu3bd"
CASE "X": DRAW "br2 br2bu2ne2nf2ng2nh2br2bd2"
CASE "Y": DRAW "br2 br2u2nh2ne2bd2br2"
CASE "Z": DRAW "br2 bu4 r4g2nlnrg2r4"
CASE "1": DRAW "br2 bu3ed4nlr"
CASE "2": DRAW "br2 bu4 r2d2l2d2r2"
CASE "3": DRAW "br2 bu4 r2d2nl2d2nl2" '"br2 bu4 r2fgnlfgnl2bl"
CASE "4": DRAW "br2 bu2 nu2r2nu2d2"
CASE "5": DRAW "br2 bu4 nr2d2r2d2nl2"
CASE "6": DRAW "br2 bu4 nr2d2nr2d2r2nu2"
CASE "7": DRAW "br2 bu4 r2d4"
CASE "8": DRAW "br2 u4r2d2nl2d2nl2"
CASE "9": DRAW "br2 bu2 nr2u2r2d4"
CASE "0": DRAW "br2 bu4 nr2d4r2nu4"
CASE "*": DRAW "br2 br2 u2nl2nu2nr2nengnhfbf "
CASE "+": DRAW "br2 br2 u2nl2nu2r2bd2"
CASE "-": DRAW "br2 bu2r2bd2"
CASE ".": DRAW "br2": PSET STEP(0, 0), clrs
CASE ",": DRAW "br2 ng"
CASE ";": DRAW "br2 ngbunuBD"
CASE ":": DRAW "br2": PSET STEP(0, 0), clrs: PSET STEP(0, -2), clrs: DRAW "bd2"
CASE "=": DRAW "br2 bunr2bu2r2bd3"
CASE "µ": DRAW "br2 unr2u2rbunebdrd3"
CASE "�": DRAW "br2 bu3 rbunebdrl2d2nr2dr2"
CASE "Ö": DRAW "br2 u3bunebd4"
CASE "à": DRAW "br2 u3rbunebdrd3nl2"
CASE "é": DRAW "br2 u3brbunebdbrd3nl2"
CASE " ": DRAW "br2 unr2u2rbunebdrd3"
CASE "‚": DRAW "br2 bu3 rbunebdrl2d2nr2dr2"
CASE "¡": DRAW "br2 u3bunebd4"
CASE "¢": DRAW "br2 u3rbunebdrd3nl2"
CASE "£": DRAW "br2 u3brbunebdbrd3nl2"
CASE ELSE: DRAW "S" + e$ + "ta" + a$ + "BR4"
END SELECT
NEXT: NEXT: NEXT
DRAW "s4ta0"
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                            
SUB pared (h, v, l, a)
VIEW SCREEN (h, v)-(h + l, v + a)
FOR vv = v TO v + a STEP 2
   FOR hh = h - 2 TO h + l STEP 4
      LINE (hh, vv)-STEP(3, 0), INT(RND * 4) + 63
      LINE (hh + 2, vv + 1)-STEP(3, 0), INT(RND * 4) + 63
   NEXT
NEXT
VIEW
END SUB

