'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                                  
'
'                    D E S A C T U A L I Z A D O
'
'
'                 <!> NORMAS DE TRAFICO VERANO 1999
'
'
'
DECLARE SUB letras (X!, Y!, TEXT$, escl!, clrs!, ang!, ancho!, relleno!)
DECLARE SUB smax (h!, v!, n!)
DECLARE SUB smin (h!, v!, n!)
DIM velocidades(1 TO 10, 1 TO 10)
DIM prueba(1 TO 10, 1 TO 10)

DATA   120, 60  ,  120, 60  ,  100, 50  ,  90, 45  ,  50,25
DATA   100, 60  ,  100, 60  ,  90 , 45  ,  80, 40  ,  50,25
DATA   90 , 60  ,  90 , 60  ,  80 , 40  ,  70, 35  ,  50,25
DATA   80 , 60  ,  80 , 60  ,  80 , 40  ,  70, 35  ,  50,25
DATA   -10, 60  ,  -10, 60  ,  -10,-10  , -10,-10  ,  50,25
DATA   -10, 60  ,  -10, 60  ,  -10,-10  , -10,-10  ,  40,20
DATA   0  , 0   ,  25 , 0   ,  25 , 0   ,  25, 0   ,  25,0
DATA   0  , 0   ,  40 , 0   ,  40 , 0   ,  40, 0   ,  40,0
DATA   70 , 60  ,  70 , 60  ,  70 , 35  ,  70, 35  ,  50,25
DATA   0  , 0   ,  45 ,  0  ,  45 , 0   ,  45, 0   ,  45,25

FOR v = 1 TO 10
   FOR h = 1 TO 10
      READ velocidades(h, v)
   NEXT
NEXT


SCREEN 12
PALETTE 12, 63
PALETTE 4, 50

PAINT (1, 1), 7
LINE (140, 0)-(640, 40), 8, BF
LINE (0, 40)-(140, 440), 15, BF
LINE (0, 0)-(140, 40), 3, BF
LINE (0, 440)-(591, 480), 0, BF
LINE (592, 440)-(640, 480), 12, BF
letras 592, 450, "hecho", 8, 14, 0, 2, 1
letras 601, 463, "en", 8, 14, 0, 2, 1
letras 590, 476, "Ronda", 8, 14, 0, 2, 1
FOR h = 140 TO 540 STEP 100
   LINE (h, 0)-(h, 440), 0
NEXT
FOR v = 40 TO 440 STEP 40
   LINE (0, v)-(640, v), 0
NEXT

COLOR 7: LOCATE 30, 5: PRINT " = Mover   ---   Espacio = Escribir   ---   ESC = Salir";
LINE (7, 447)-(576, 464), 6, B


letras 144, 20, "Autopistas", 8, 9, 0, 2, 1
letras 254, 20, "Autov¡as", 8, 9, 0, 2, 1
letras 343, 15, "v¡as r pidas", 8, 10, 0, 2, 1
letras 343, 27, "convencionales buenas", 4, 15, 0, 1, 1
letras 443, 20, "convencionales malas", 4, 15, 0, 1, 1
letras 539, 20, "v¡as urbanas", 8, 15, 0, 2, 1

letras 0, 52, "motocicletas", 8, 0, 0, 1, 1
letras 0, 72, "turismos", 8, 0, 0, 1, 1
letras 0, 92, "autobuses", 8, 0, 0, 1, 1
letras 0, 112, "vehiculos mixtos", 8, 0, 0, 1, 1
letras 0, 132, "camiones", 8, 0, 0, 1, 1
letras 0, 152, "v. articulados", 8, 0, 0, 1, 1
letras 0, 174, "conjuntos", 8, 0, 0, 1, 1
letras 0, 190, "de vehiculos", 8, 0, 0, 1, 1
letras 0, 214, "transporte", 8, 0, 0, 1, 1
letras 0, 230, "escolar", 8, 0, 0, 1, 1
letras 0, 254, "mercanc¡as", 8, 0, 0, 1, 1
letras 0, 270, "peligrosas", 8, 0, 0, 1, 1
letras 0, 290, "v.e. sin l. freno", 8, 0, 0, 1, 1
letras 0, 302, "v.e. con remolque", 8, 0, 0, 1, 1
letras 0, 314, "motocultores", 8, 0, 0, 1, 1
letras 0, 334, "v. especiales", 8, 0, 0, 1, 1
letras 0, 350, "en general", 8, 0, 0, 1, 1
letras 0, 374, "v. especiales", 8, 0, 0, 1, 1
letras 0, 390, "+ 60 km/h", 8, 0, 0, 1, 1
letras 0, 410, "ciclos", 8, 0, 0, 1, 1
letras 0, 422, "ciclomotores", 8, 0, 0, 1, 1
letras 0, 434, "c. minusv lidos", 8, 0, 0, 1, 1


h = 1
v = 1
LINE ((h * 50) + 90, v * 40)-STEP(100, 40), 10, B
DO
   DO
      kbd$ = UCASE$(INKEY$)
   LOOP WHILE kbd$ = ""
   LINE ((h * 50) + 90, v * 40)-STEP(100, 40), 0, B
   SELECT CASE kbd$
      CASE CHR$(0) + "H": IF v > 1 THEN v = v - 1
      CASE CHR$(0) + "P": IF v < 10 THEN v = v + 1
      CASE CHR$(0) + "K": IF h > 1 THEN h = h - 2
      CASE CHR$(0) + "M": IF h < 9 THEN h = h + 2
      CASE " "
         LINE ((h * 50) + 91, (v * 40) + 1)-STEP(98, 38), 3, BF
         COLOR 7: LOCATE 30, 5: PRINT "0 = No   ---   Negativo = Reducci¢n seg£n v¡a-vehiculo     ";
         LINE (7, 447)-(576, 464), 14, B
         LOCATE 29, 5: COLOR 12: INPUT ; "M xima: ", prueba(h, v)
         LOCATE 29, 35: COLOR 9: INPUT ; "M¡nima: ", prueba(h + 1, v)
         LOCATE 29, 5: PRINT SPACE$(60);
         LINE ((h * 50) + 91, (v * 40) + 1)-STEP(98, 38), 7, BF
         smax ((h * 50) + 120), (v * 40) + 20, prueba(h, v)
         smin ((h * 50) + 160), (v * 40) + 20, prueba(h + 1, v)
         COLOR 7: LOCATE 30, 5: PRINT " = Mover   ---   Espacio = Escribir   ---   ESC = Salir";
         LINE (7, 447)-(576, 464), 6, B
   END SELECT
   LINE ((h * 50) + 90, v * 40)-STEP(100, 40), 10, B
LOOP UNTIL kbd$ = CHR$(27)
LINE ((h * 50) + 90, v * 40)-STEP(100, 40), 0, B
LINE (7, 447)-(576, 464), 0, B
COLOR 7: LOCATE 30, 5: PRINT "Correcci¢n                                                  ";

FOR v = 1 TO 10
   FOR h = 1 TO 9 STEP 2
      IF prueba(h, v) = velocidades(h, v) THEN
         LINE ((h * 50) + 91, (v * 40) + 1)-STEP(49, 38), 10, BF
      ELSE
         LINE ((h * 50) + 91, (v * 40) + 1)-STEP(49, 38), 4, BF
      END IF
      IF prueba(h + 1, v) = velocidades(h + 1, v) THEN
         LINE ((h * 50) + 141, (v * 40) + 1)-STEP(48, 38), 10, BF
      ELSE
         LINE ((h * 50) + 141, (v * 40) + 1)-STEP(48, 38), 4, BF
      END IF
      smax ((h * 50) + 120), (v * 40) + 20, prueba(h, v)
      smin ((h * 50) + 160), (v * 40) + 20, prueba(h + 1, v)
   NEXT
NEXT

      SLEEP
FOR v = 1 TO 10
   FOR h = 1 TO 9 STEP 2
      LINE ((h * 50) + 91, (v * 40) + 1)-STEP(98, 38), 7, BF
      smax ((h * 50) + 120), (v * 40) + 20, velocidades(h, v)
      smin ((h * 50) + 160), (v * 40) + 20, velocidades(h + 1, v)
   NEXT
NEXT

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                                
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...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                                
SUB smax (h, v, n)
IF n > 0 THEN
   CIRCLE (h + 1, v + 1), 17, 8
   PAINT (h, v), 8, 8
   CIRCLE (h, v), 17, 12
   CIRCLE (h, v), 14, 12
   PAINT (h - 16, v), 12, 12
   PAINT (h, v), 15, 12
   IF n < 100 THEN
      letras h - 24, v + 4, STR$(n), 10, 0, 0, 2, 1
   ELSE
      letras h - 24, v + 3, STR$(n), 8, 0, 0, 2, 1
   END IF
ELSE
   IF n = 0 THEN
      letras h - 15, v + 8, "x", 16, 8, 0, 3, 1
      letras h - 17, v + 7, "x", 16, 12, 0, 3, 1
   ELSE
      PSET (h - 3, v - 12), 8
      DRAW "d10l10f15e15l10u10l10bfp8,8c12h2ld10l10f15e15l10u10l10bf4p12,12"
      letras h - 9, v + 3, STR$(n), 4, 15, 0, 1, 1
   END IF
END IF
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                                
SUB smin (h, v, n)
IF n > 0 THEN
   CIRCLE (h + 1, v + 1), 17, 8
   PAINT (h, v), 8, 8
   CIRCLE (h, v), 17, 1
   CIRCLE (h, v), 14, 1
   PAINT (h - 16, v), 15, 1
   PAINT (h, v), 1, 1
   IF n < 100 THEN
      letras h - 24, v + 4, STR$(n), 10, 15, 0, 2, 1
   ELSE
      letras h - 24, v + 3, STR$(n), 8, 15, 0, 2, 1
   END IF
ELSE
   IF n = 0 THEN
      letras h - 15, v + 8, "x", 16, 8, 0, 3, 1
      letras h - 17, v + 7, "x", 16, 1, 0, 3, 1
   ELSE
      PSET (h - 3, v - 12), 8
      DRAW "d10l10f15e15l10u10l10bfp8,8c1h2ld10l10f15e15l10u10l10bf4p1,1"
      letras h - 9, v + 3, STR$(n), 4, 15, 0, 1, 1
   END IF
END IF
END SUB

