'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                      
'
'    ÛÛÛÛ ÛÛÛÛ Û  Û ÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛ  ÛÛÛÛ ÛÛÛÛ      ÛÛÛ  ÛÛÛÛ
'    Û    Û    ÛÛ Û Û    Û  Û Û  Û Û ÛÛ Û  Û Û  Û      Û ÛÛ Û
'    Û ÛÛ ÛÛÛ  ÛÛÛÛ ÛÛÛ  ÛÛÛÛ Û  Û Û  Û Û  Û ÛÛÛÛ      Û  Û ÛÛÛ
'    Û  Û Û    Û ÛÛ Û    Û Û  ÛÛÛÛ Û ÛÛ Û  Û Û Û       Û ÛÛ Û
'    ÛÛÛÛ ÛÛÛÛ Û  Û ÛÛÛÛ Û  Û Û  Û ÛÛÛ  ÛÛÛÛ Û  Û      ÛÛÛ  ÛÛÛÛ
'
'
' Û   Û ÛÛÛÛ ÛÛÛ  Û  Û Û    ÛÛÛÛ ÛÛÛÛ      ÛÛÛÛ Û  Û      ÛÛÛÛ     ÛÛÛ
' ÛÛ ÛÛ Û  Û Û ÛÛ Û  Û Û    Û  Û Û         Û    ÛÛ Û         Û     Û ÛÛ
' Û Û Û Û  Û Û  Û Û  Û Û    Û  Û ÛÛÛÛ      ÛÛÛ  ÛÛÛÛ       ÛÛÛ ÛÛÛ Û  Û ÜÜÜ
' Û   Û Û  Û Û ÛÛ Û  Û Û    Û  Û    Û      Û    Û ÛÛ         Û     Û ÛÛ ÛÜÜ
' Û   Û ÛÛÛÛ ÛÛÛ  ÛÛÛÛ ÛÛÛÛ ÛÛÛÛ ÛÛÛÛ      ÛÛÛÛ Û  Û      ÛÛÛÛ     ÛÛÛ  ÜÜÛ
'
'
'                     JMGB - Hecho en RONDA - Mayo de 1996
'
'                            I N S T R U C I O N E S
'                            =======================
'
'
'    El programa lee archivos ASCII para construir m¢dulos de bloques 3D.
'    Los archivos tienes que llevar la extensi¢n .MDL
'    Para montar los archivos usando las siguientes instrucciones
'    utilizar el MS-DOS Editor o el Block de notas de Windows.
'
'    -Primera linea: Indica las demensiones m ximas del m¢dulo, debe
'                    tener siempre 8 caracteres:LARGO-PROFUNDO-PISOS
'                    Cada valor siempre con dos cifras (poner ceros delante
'                    si es necesario)  Ejemplo: 20-01,12  ¢  54-13-02
'
'    -Segunda linea: En blanco
'
'    -Dem s lineas:  Compuestas £nicamente por ceros y unos:
'                     0 = No dibujar el bloque (hueco)
'                     1 = Dibujarlo
'
'                    Se escribe de izquierda a derecha empezando por la
'                    posici¢n de la planta m s baja al fondo a la izquierda
'                    completando lineas desde atr s hacia delante y pisos
'                    desde abajo hacia arriba.
'                    Cada planta formar  un cuadro de cifras de dimensiones
'                    LARGO x PROFUNDO y ser  exactamente igual que esa planta
'                    vista desde arriba.
'
'                    Despu‚s de cada planta dejar una linea en blanco
'
'                    Es igual poner un cero que un espacio en blanco
'
'
'
'           P R O G R A M A   B A S I C   H E C H O   E N   R O N D A
'=================================================================================
DECLARE SUB nuevo ()
DECLARE SUB menuborrado (n!)
DECLARE SUB posiblesalir ()
DECLARE SUB AUTO ()
DECLARE SUB ayuda (p%, F%, text$)
DECLARE SUB abrir ()
DECLARE SUB colores ()
DECLARE SUB menu (lin!, col!, letra!, fondo!, letrares!, fondores!, forma!, orden!, cadenalinea$)
DECLARE SUB esquema ()
DECLARE SUB CUBO (X!, y!, lado!, c!, CA!, cs!, cl!, p!)
DECLARE SUB centrar (fila%, text$)
RANDOMIZE TIMER

CONST RUTA$ = ""

 colorbordes = 16
 colordelante = 7
 colorarriba = 15
 colorlado = 8

esquema

IF arch$ = "" THEN : archivo = 0:  ELSE : archivo = 1

IF archivo THEN : OPEN RUTA$ + arch$ + ".mdl" FOR INPUT AS #1
IF archivo THEN : LINE INPUT #1, dato$

IF archivo THEN : Largo = VAL(MID$(dato$, 1, 2))
IF archivo THEN : profundo = VAL(MID$(dato$, 4, 2))
IF archivo THEN : pisos = VAL(MID$(dato$, 7, 2))

lado1 = INT(639 / (Largo + ((profundo * 2) / 3)))
lado2 = INT(479 / (pisos + ((profundo * 2) / 3)))

SELECT CASE lado1
   CASE IS = lado2: lado = lado1
   CASE IS > lado2: lado = lado2
   CASE IS < lado2: lado = lado1
END SELECT

lado = INT(lado / 3)
lado = lado * 3

caballera = INT((lado * 2) / 3)

SCREEN 12

PRINT lado
LINE (0, 479)-((Largo * lado) + (profundo * caballera), 480 - ((pisos * lado) + (profundo * caballera))), 13, B
SLEEP

LINE (0, 479)-((Largo * lado) + (profundo * caballera), 480 - ((pisos * lado) + (profundo * caballera))), 0, B

    
FOR y = (profundo * caballera) - caballera TO (profundo * caballera) - caballera + (pisos * lado) - 1 STEP lado
     IF archivo THEN : LINE INPUT #1, line$
     FOR Z = 0 TO (profundo * caballera) - 1 STEP caballera
              
         IF archivo THEN : LINE INPUT #1, linea$
         IF archivo THEN : contador = 0
         FOR X = (profundo * caballera) - caballera TO (profundo * caballera) - caballera + (Largo * lado) - 1 STEP lado
              
               IF archivo THEN
                    contador = contador + 1
               
                    SELECT CASE (MID$(linea$, contador, 1))
                    CASE "0": CUBO X - Z, 479 - y + Z, lado, colorbordes, colordelante, colorarriba, colorlado, 1
                    CASE "1": CUBO X - Z, 479 - y + Z, lado, colorbordes, colordelante, colorarriba, colorlado, 0
                    END SELECT
               ELSE
                    CUBO X - Z, 479 - y + Z, lado, colorbordes, colordelante, colorarriba, colorlado, probabilidad
               END IF
          NEXT
     NEXT
NEXT

SOUND 2000, 2
SLEEP
CLEAR
posiblesalir

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB abrir
ayuda 30, 4, "Escribe un nombre de archivo existente he hasta 8 letras sin extensi¢n"
SHARED arch$
menuborrado 3
COLOR 15, 4
LOCATE 10, 25: PRINT "  ABRIR  ARCHIVO  "
LOCATE 11, 25: PRINT "                  "
LOCATE 12, 25: PRINT "                  "
LOCATE 13, 25: PRINT "                  "
LOCATE 14, 25: PRINT "                  "
COLOR 15
LOCATE 12, 26: INPUT "Nombre: ", arch$
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB AUTO
SHARED Largo
SHARED profundo
SHARED pisos
SHARED probabilidad
ayuda 30, 4, "Escribe las dimensiones del paralelepipedo usando n£meros"
menuborrado 4
COLOR 15, 4
LOCATE 10, 45: PRINT "    DIMENSIONES    "
LOCATE 11, 45: PRINT "                   "
LOCATE 12, 45: PRINT "                   "
LOCATE 13, 45: PRINT "                   "
LOCATE 14, 45: PRINT "                   "
LOCATE 11, 46: INPUT "Largo: ", Largo
LOCATE 12, 46: INPUT "Profundidad: ", profundo
LOCATE 13, 46: INPUT "Altura: ", pisos
ayuda 30, 1, "Pulsa C para compacto o H para hueco"
COLOR 30, 4
LOCATE 14, 46: PRINT "  C           H"
DO
   kbd$ = UCASE$(INKEY$)
LOOP UNTIL kbd$ = "C" XOR kbd$ = "H"
IF kbd$ = "H" THEN : probabilidad = 2:  ELSE : probabilidad = 0

END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
' ESCRIBE ALGO EN EL CENTRO DE LA LINEA 25
' p% = COLOR DE LETRA
' f% = COLOR DE FONDO
' fext$ = TEXTO A ESCRIBIR
'
SUB ayuda (p%, F%, text$) STATIC
VIEW PRINT 25 TO 25
COLOR p%, F%: PRINT SPACE$(80)
centrar 25, text$
VIEW PRINT
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB centrar (fila%, text$) STATIC
    LOCATE fila%, 41 - LEN(text$) / 2
    PRINT text$;
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB colores
SHARED colorbordes
SHARED colordelante
SHARED colorarriba
SHARED colorlado
ayuda 30, 4, "Escribe el CODIGO BASIC de color que desee en cada lugar"
menuborrado 1
COLOR 4, 2
LOCATE 5
PRINT "        ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "        ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "        ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
PRINT "        ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
COLOR 15, 4
LOCATE 5, 10: INPUT "Borde: ", colorbordes
LOCATE 6, 10: INPUT "Delante: ", colordelante
LOCATE 7, 10: INPUT "Arriba: ", colorarriba
LOCATE 8, 10: INPUT "Lateral: ", colorlado
esquema
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
' DIBUJA UN CUBO EN PERSPECTIVA CABALLERA
'     ANTES DESPEJA EL LUGAR QUE VA A OCUPAR PARA EVITAR ERRORES
'
'    X e y :POSICIàN DE LA ESQUINA ANTERIOR INFERIOR IZQUIERDA
'    LADO :LONGITUD DE LA ARISTA
'      (LA SUB CALCULA AUTOMATICAMENTE LA PROPORCION PARA LA PERSPECTIVA)
'    C: COLOR DE LAS ARISTAS
'    CA: COLOR DE LA CARA ANTERIOR
'    CS: COLOR DE LA CARA SUPERIOR
'    CL: COLOR DA LA CARA LATERAL
'    P: PROBABILIDAD DE NO DIBUJAR EL CUBO = 1/P  (1 = NO LO DIBUJA NUNCA)
'
'    SI UN VALOR DE COLOR ES SUPERIOR A 15 SE CONVIERTE EN TRASPARENTE
'                                                          -----------
'
'
SUB CUBO (X, y, lado, c, CA, cs, cl, p)
SHARED cubos

D = INT(RND * p) + 1
IF D = p THEN : EXIT SUB
cab = INT((lado * 2) / 3)

IF CA < 16 THEN : LINE (X, y)-(X + lado, y - lado), CA, BF
FOR S = 0 TO cab
   IF cs < 16 THEN : LINE (X + S, y - S - lado)-STEP(lado, 0), cs, B
   IF cl < 16 THEN : LINE (X + S + lado, y - S - lado)-STEP(0, lado), cl, B
NEXT

cubos = cubos + 1

IF c > 15 THEN : EXIT SUB

PSET (X, y), c

LINE STEP(0, 0)-STEP(lado, 0 - lado), c, B
LINE STEP(0, 0)-STEP(cab, 0 - (cab)), c
LINE STEP(0, 0)-STEP(0, lado), c
LINE STEP(0, 0)-STEP(0 - cab, cab), c
LINE STEP(0 - lado, 0 - lado)-STEP(cab, 0 - (cab)), c
LINE STEP(0, 0)-STEP(lado, 0), c

END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
SUB esquema
SCREEN 0
COLOR 10, 2: CLS

ayuda 30, 4, "Elije opci¢n del men£ y pulse ENTER"



VIEW PRINT 1 TO 3
COLOR 15, 1: CLS
PRINT
PRINT "              Generador de m¢dulos tridimensionales hecho en Ronda"
COLOR 14
PRINT "              ****************************************************"
VIEW PRINT

PRINT
ayuda 30, 4, "Elije opci¢n del men£ y pulse ENTER"
COLOR 10, 2
LOCATE 5
PRINT "        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»ÄÄÄÄÄÄÄÄÄÄ"
PRINT "        º    CAMBIAR   º   ÚÄÄÄÄÄÄ                ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"
PRINT "        º    COLORES   º   ³  ÚÄÄÄ                                      ³"
PRINT "        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼   ³  ³            ÄÄÄÄÄÄÄÄÄÄÄ¿                 ³"
PRINT "             ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ³                       ³                 ³"
PRINT "      ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»         ³"
PRINT "      º CREAR NUEVOS º  º VER MàDULOS 3D º  º USAR  GENERADOR º         ³"
PRINT "      º  MàDULOS 3D  º  º  GUARDADOS EN  º  º  AUTOMµTICO DE  º         ³"
PRINT "      º Y GUARDARLOS º  º   DISCO DURO   º  º PARALELEPIPEDOS º         ³"
PRINT "      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼         ³"
PRINT "             ³                ³                ³           ³            ³"
PRINT "             ³                ³          ÉÍÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍÍÍ»       ³"
PRINT "             ³                ³          ºCOMPACTOSº ºCON HUECOSº       ³"
PRINT "             ³                ³          ÈÍÍÍÍÍÍÍÍÍ¼ ÈÍÍÍÍÍÍÍÍÍÍ¼       ³"
PRINT "             ³                ³                ÀÄÄÄÄÄÂÄÄÄÄÄÙ            ³"
PRINT "             ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                  ³"
PRINT "   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»                 ³    ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             ³"
PRINT "   º    SALIR     ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÛÛÛÛÛÄÄº VOLVER AL MENé ºÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"
PRINT "   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼                      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼"
menu 5, 35, 15, 4, 14, 9, 0, 1, "Colores-Nuevo-Abrir-Auto"
ayuda 30, 4, "Elije opci¢n del men£ y pulse ENTER"
LOCATE 20, 1: COLOR 15, 0
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
'
'                 Men£ desplegable interactivo hecho en Ronda
'                 ===========================================
'
'          lin,col..........Posici¢n esquina superior izquierda
'          letra............Color de letra y borde
'          fondo............Color de fondo
'          letrares.........Color de letra en linea activa
'          fondores.........Color de fondo en linea activa
'          forma............0 = sin nada; 1 = borde y sombra; 2 = sombra
'          orden............C¢digo del grupo de comandos a ejecutar
'          cadenalnea$......Conjunto de lineas del men£
'                           Debe ser UNA SàLA CADENA entre comillas de entre
'                           2 y 9 expresiones separadas por guiones (-)
'
'
'
SUB menu (lin, col, letra, fondo, letrares, fondores, forma, orden, cadenalinea$)

cadenalinea$ = cadenalinea$ + "-"           'Ajuste autom tico

FOR a = 1 TO LEN(cadenalinea$)              'Lee cadenalinea$ y busca los
   letra$ = MID$(cadenalinea$, a, 1)           'guiones (-) para separar las
   line$ = line$ + letra$                      'lineas del men£    Û
                                               '                 ÜÜÛÜÜ
                                               '                  ßÛß

   IF LINEA1$ = "" AND letra$ = "-" THEN : LINEA1$ = line$: line$ = ""
   IF LINEA2$ = "" AND letra$ = "-" THEN : LINEA2$ = line$: line$ = ""
   IF LINEA3$ = "" AND letra$ = "-" THEN : LINEA3$ = line$: line$ = ""
   IF LINEA4$ = "" AND letra$ = "-" THEN : LINEA4$ = line$: line$ = ""
   IF LINEA5$ = "" AND letra$ = "-" THEN : LINEA5$ = line$: line$ = ""
   IF LINEA6$ = "" AND letra$ = "-" THEN : LINEA6$ = line$: line$ = ""
   IF LINEA7$ = "" AND letra$ = "-" THEN : LINEA7$ = line$: line$ = ""
   IF LINEA8$ = "" AND letra$ = "-" THEN : LINEA8$ = line$: line$ = ""
   IF LINEA9$ = "" AND letra$ = "-" THEN : LINEA9$ = line$: line$ = ""

NEXT

numlineas = 9                                     'Busca el n£mero de lineas
IF LINEA9$ = "" THEN :  numlineas = 8             'desde el final eliminando
IF LINEA8$ = "" THEN :  numlineas = 7             'lineas vac¡as
IF LINEA7$ = "" THEN :  numlineas = 6
IF LINEA6$ = "" THEN : numlineas = 5
IF LINEA5$ = "" THEN : numlineas = 4
IF LINEA4$ = "" THEN : numlineas = 3
IF LINEA3$ = "" THEN : numlineas = 2

IF LEN(LINEA1$) > Largo THEN : Largo = LEN(LINEA1$)   'busca la longitud de
IF LEN(LINEA2$) > Largo THEN : Largo = LEN(LINEA2$)   'la linea m s larga
IF LEN(LINEA3$) > Largo THEN : Largo = LEN(LINEA3$)
IF LEN(LINEA4$) > Largo THEN : Largo = LEN(LINEA4$)
IF LEN(LINEA5$) > Largo THEN : Largo = LEN(LINEA5$)
IF LEN(LINEA6$) > Largo THEN : Largo = LEN(LINEA6$)
IF LEN(LINEA7$) > Largo THEN : Largo = LEN(LINEA7$)
IF LEN(LINEA8$) > Largo THEN : Largo = LEN(LINEA8$)
IF LEN(LINEA9$) > Largo THEN : Largo = LEN(LINEA9$)

Largo = Largo + 1       'Ajuste autom tico

                                        'inserta espacios delante y detr s de
                                        'las lineas para que todas tengan
                                        'el mismo tama¤o

IF LINEA1$ = "" THEN :  ELSE : LINEA1$ = " " + MID$(LINEA1$, 1, (LEN(LINEA1$) - 1)) + SPACE$(Largo - (LEN(LINEA1$)))
IF LINEA2$ = "" THEN :  ELSE : LINEA2$ = " " + MID$(LINEA2$, 1, (LEN(LINEA2$) - 1)) + SPACE$(Largo - (LEN(LINEA2$)))
IF LINEA3$ = "" THEN :  ELSE : LINEA3$ = " " + MID$(LINEA3$, 1, (LEN(LINEA3$) - 1)) + SPACE$(Largo - (LEN(LINEA3$)))
IF LINEA4$ = "" THEN :  ELSE : LINEA4$ = " " + MID$(LINEA4$, 1, (LEN(LINEA4$) - 1)) + SPACE$(Largo - (LEN(LINEA4$)))
IF LINEA5$ = "" THEN :  ELSE : LINEA5$ = " " + MID$(LINEA5$, 1, (LEN(LINEA5$) - 1)) + SPACE$(Largo - (LEN(LINEA5$)))
IF LINEA6$ = "" THEN :  ELSE : LINEA6$ = " " + MID$(LINEA6$, 1, (LEN(LINEA6$) - 1)) + SPACE$(Largo - (LEN(LINEA6$)))
IF LINEA7$ = "" THEN :  ELSE : LINEA7$ = " " + MID$(LINEA7$, 1, (LEN(LINEA7$) - 1)) + SPACE$(Largo - (LEN(LINEA7$)))
IF LINEA8$ = "" THEN :  ELSE : LINEA8$ = " " + MID$(LINEA8$, 1, (LEN(LINEA8$) - 1)) + SPACE$(Largo - (LEN(LINEA8$)))
IF LINEA9$ = "" THEN :  ELSE : LINEA9$ = " " + MID$(LINEA9$, 1, (LEN(LINEA9$) - 1)) + SPACE$(Largo - (LEN(LINEA9$)))

IF forma = 1 THEN : 'box lin, col, lin + numlineas + forma, col + LARGO + forma, 7, letra, fondo, 8
IF forma = 2 THEN : 'box lin, col, lin + numlineas - 1, col + LARGO - 1, 7, letra, fondo, 8: forma = 0
COLOR letra, fondo

LOCATE lin + forma + 0, col + forma: PRINT LINEA1$
LOCATE lin + forma + 1, col + forma: PRINT LINEA2$
LOCATE lin + forma + 2, col + forma: PRINT LINEA3$
LOCATE lin + forma + 3, col + forma: PRINT LINEA4$
LOCATE lin + forma + 4, col + forma: PRINT LINEA5$
LOCATE lin + forma + 5, col + forma: PRINT LINEA6$
LOCATE lin + forma + 6, col + forma: PRINT LINEA7$
LOCATE lin + forma + 7, col + forma: PRINT LINEA8$
LOCATE lin + forma + 8, col + forma: PRINT LINEA9$

COLOR letrares, fondores

LOCATE lin + forma + 0, col + forma: PRINT LINEA1$
cas = 1

DO

   DO
      kbd$ = INKEY$
   LOOP WHILE kbd$ = ""

   COLOR letra, fondo

   LOCATE lin + forma + 0, col + forma: PRINT LINEA1$
   LOCATE lin + forma + 1, col + forma: PRINT LINEA2$
   LOCATE lin + forma + 2, col + forma: PRINT LINEA3$
   LOCATE lin + forma + 3, col + forma: PRINT LINEA4$
   LOCATE lin + forma + 4, col + forma: PRINT LINEA5$
   LOCATE lin + forma + 5, col + forma: PRINT LINEA6$
   LOCATE lin + forma + 6, col + forma: PRINT LINEA7$
   LOCATE lin + forma + 7, col + forma: PRINT LINEA8$
   LOCATE lin + forma + 8, col + forma: PRINT LINEA9$


   SELECT CASE kbd$

      CASE CHR$(0) + "H":   cas = cas - 1
      CASE CHR$(0) + "P":   cas = cas + 1
      CASE CHR$(0) + "K":   cas = cas - 1
      CASE CHR$(0) + "M":   cas = cas + 1
      CASE CHR$(13)
      CASE ELSE: BEEP
   END SELECT

   IF cas > numlineas THEN : cas = 1
   IF cas < 1 THEN : cas = numlineas

   COLOR letrares, fondores
   SELECT CASE cas
      CASE 1: LOCATE lin + forma + 0, col + forma: PRINT LINEA1$
      CASE 2: LOCATE lin + forma + 1, col + forma: PRINT LINEA2$
      CASE 3: LOCATE lin + forma + 2, col + forma: PRINT LINEA3$
      CASE 4: LOCATE lin + forma + 3, col + forma: PRINT LINEA4$
      CASE 5: LOCATE lin + forma + 4, col + forma: PRINT LINEA5$
      CASE 6: LOCATE lin + forma + 5, col + forma: PRINT LINEA6$
      CASE 7: LOCATE lin + forma + 6, col + forma: PRINT LINEA7$
      CASE 8: LOCATE lin + forma + 7, col + forma: PRINT LINEA8$
      CASE 9: LOCATE lin + forma + 8, col + forma: PRINT LINEA9$
   END SELECT

LOOP UNTIL kbd$ = CHR$(13)

'COLOR 7, 7

'FOR a = lin TO lin + numlineas + forma * 2
'LOCATE a, col: PRINT SPACE$((LARGO + forma * 3) + 1)
'NEXT

SELECT CASE orden
CASE 1
     SELECT CASE cas
     CASE 1: colores
     CASE 2: nuevo
     CASE 3: abrir
     CASE 4: AUTO
     CASE 5: END
     CASE 6
     CASE 7
     CASE 8
     CASE 9
     END SELECT
END SELECT
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
SUB menuborrado (n) STATIC
COLOR 15, 7
LOCATE 5, 35: PRINT " Colores "
LOCATE 6, 35: PRINT " Nuevo   "
LOCATE 7, 35: PRINT " Abrir   "
LOCATE 8, 35: PRINT " Auto    "

COLOR 15, 3
SELECT CASE n
   CASE 1: LOCATE 5, 35: PRINT " Colores "
   CASE 2: LOCATE 6, 35: PRINT " Nuevo   "
   CASE 3: LOCATE 7, 35: PRINT " Abrir   "
   CASE 4: LOCATE 8, 35: PRINT " Auto    "
END SELECT
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
SUB nuevo
ayuda 30, 4, "Pulsa cualquier tecla para volver al men£"
COLOR 30, 4
LOCATE 10, 7: PRINT "     Opci¢n     "
LOCATE 11, 7: PRINT "  no disponible "
COLOR 15, 4
LOCATE 12, 7: PRINT "     Usa el     "
LOCATE 13, 7: PRINT " EDITOR MS-DOS  "
COLOR 14, 4
LOCATE 14, 7: PRINT "    < Aceptar > "
DO: LOOP WHILE INKEY$ = ""
posiblesalir
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                  
SUB posiblesalir
SCREEN 0
COLOR 10, 2: CLS

ayuda 30, 4, "Pulsa la tecla S para salir o la V para volver al men£"



VIEW PRINT 1 TO 3
COLOR 15, 1: CLS
PRINT
PRINT "              Generador de m¢dulos tridimensionales hecho en Ronda"
COLOR 14
PRINT "              ****************************************************"
VIEW PRINT

PRINT

COLOR 10, 2
LOCATE 5
PRINT "        ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»ÄÄÄÄÄÄÄÄÄÄ"
PRINT "        º    CAMBIAR   º   ÚÄÄÄÄÄÄ                ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"
PRINT "        º    COLORES   º   ³  ÚÄÄÄ                                      ³"
PRINT "        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼   ³  ³            ÄÄÄÄÄÄÄÄÄÄÄ¿                 ³"
PRINT "             ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ³                       ³                 ³"
PRINT "      ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»         ³"
PRINT "      º CREAR NUEVOS º  º VER MàDULOS 3D º  º USAR  GENERADOR º         ³"
PRINT "      º  MàDULOS 3D  º  º  GUARDADOS EN  º  º  AUTOMµTICO DE  º         ³"
PRINT "      º Y GUARDARLOS º  º   DISCO DURO   º  º PARALELEPIPEDOS º         ³"
PRINT "      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼         ³"
PRINT "             ³                ³                ³           ³            ³"
PRINT "             ³                ³          ÉÍÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍÍÍ»       ³"
PRINT "             ³                ³          ºCOMPACTOSº ºCON HUECOSº       ³"
PRINT "             ³                ³          ÈÍÍÍÍÍÍÍÍÍ¼ ÈÍÍÍÍÍÍÍÍÍÍ¼       ³"
PRINT "             ³                ³                ÀÄÄÄÄÄÂÄÄÄÄÄÙ            ³"
PRINT "             ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                  ³"
PRINT "   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»                 ³    ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»             ³"
PRINT "   º    SALIR     ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÛÛÛÛÛÄÄº VOLVER AL MENé ºÄÄÄÄÄÄÄÄÄÄÄÄÄÙ"
PRINT "   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼                      ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼"
menuborrado 5
COLOR 30, 4
LOCATE 22, 35: PRINT "S   V"
DO
kbd$ = UCASE$(INKEY$)
LOOP UNTIL kbd$ = "S" XOR kbd$ = "V"
IF kbd$ = "S" THEN : GOSUB fin:  ELSE : RUN


fin:
COLOR 10, 2
LOCATE 22, 4: PRINT "º    SALIR     ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÛÛÛÛÛ"
COLOR 15, 4
LOCATE 21, 4: PRINT "GRACIAS POR USAR"
LOCATE 22, 4: PRINT " ESTE  PROGRAMA "
LOCATE 23, 4: PRINT " HECHO EN RONDA "
END

END SUB

