'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                               PROGRAMA DISE¥O HABITACIONES DE LOSETAS
'
'
'
DECLARE SUB salida ()
DECLARE SUB dibujasala ()
DECLARE SUB reconoce ()
SCREEN 12
PALETTE 12, 63
DIM SHARED detras(1 TO 4000)
DIM SHARED frente(1 TO 100)
DIM SHARED arriba(1 TO 100)
DIM SHARED lado(1 TO 100)
c = 5
COLOR 13: LOCATE 12, 27: PRINT "  L O S E T A R I S    1.O"
LOCATE 14, 27: PRINT "       Hecho en Ronda"
LOCATE 18, 27: PRINT "Seleccionar color de entrada"

LINE (20, 20)-(619, 459), 5, B
LINE (180, 125)-(459, 354), c, B
PAINT (181, 121), 3, 5
LINE (20, 20)-(619, 459), 3, B

LINE (183, 128)-(456, 256), c, B
LINE (183, 259)-(456, 351), c, B
PAINT (181, 126), 13, 5

FOR c = 0 TO 15
   LINE ((c * 16) + 191, 320)-STEP(15, -23), c, BF
   LINE ((c * 16) + 191, 320)-STEP(16, -24), 13, B
NEXT

hx = 15
PSET ((hx * 16) + 194, 330), 10: DRAW "r10lul8rur6lul4rur2"

DO
   WHILE INKEY$ <> "": WEND
   DO
      kbd$ = INKEY$
   LOOP WHILE kbd$ = ""

   SELECT CASE kbd$
      CASE CHR$(0) + "K": hx = hx - 1
      CASE CHR$(0) + "M": hx = hx + 1
      CASE CHR$(13): EXIT DO
      CASE CHR$(27): salida
   END SELECT
   IF hx > 15 THEN hx = 0
   IF hx < 0 THEN hx = 15

   LINE (186, 325)-(453, 330), 0, BF
   PSET ((hx * 16) + 194, 330), 10: DRAW "r10lul8rur6lul4rur2"

LOOP
CLS
c = 5
LOCATE 2, 20: PRINT "       L O S E T A R I S   1.O      Hecho en Ronda"
LOCATE 7, 44: PRINT "ÄÙ: Ver   ESC: Salir   ESP: Color"
LINE (0, 0)-(639, 479), c, B
LINE (3, 126)-(636, 476), c, B
LINE (3, 3)-(123, 123), c, B
LINE (126, 3)-(636, 43), c, B
LINE (126, 46)-(323, 123), c, B
LINE (326, 46)-(636, 123), c, B
PAINT (1, 1), 13, c

FOR c = 0 TO 15
   LINE ((c * 16) + 353, 78)-STEP(15, -23), c, BF
   LINE ((c * 16) + 353, 78)-STEP(16, -24), 13, B
NEXT

PSET (355, 85), 10: DRAW "r10lul8rur6lul4rur2"

LINE (10, 10)-(110, 110), 0, BF
FOR h = 10 TO 106 STEP 10
   FOR v = 10 TO 106 STEP 10
      LINE (h, v)-STEP(8, 8), hx, BF
   NEXT
NEXT
FOR n = 1 TO 4
   PSET (9 + n, 109 + n), 8
   DRAW "r100c7u100"
NEXT

ht = 10
vt = 10
LINE (ht - 1, vt - 1)-STEP(10, 10), 10, B


cpp = POINT(ht + 1, vt + 1)
LINE (355, 80)-(630, 85), 0, BF
PSET ((cpp * 16) + 355, 85), 10: DRAW "r10lul8rur6lul4rur2"

reconoce
DO
   WHILE INKEY$ <> "": WEND
   DO
      kbd$ = INKEY$
   LOOP WHILE kbd$ = ""
   LINE (ht - 1, vt - 1)-STEP(10, 10), 0, B
        
        
   SELECT CASE kbd$
      CASE CHR$(0) + "H": vt = vt - 10
      CASE CHR$(0) + "P": vt = vt + 10
      CASE CHR$(0) + "K": ht = ht - 10
      CASE CHR$(0) + "M": ht = ht + 10
      CASE CHR$(13): reconoce
      CASE " "
         c = POINT(ht + 2, vt + 2) + 1
         IF c > 15 THEN c = 0
         LINE (ht, vt)-STEP(8, 8), c, BF
         cpp = POINT(ht + 1, vt + 1)
         LINE (355, 80)-(630, 85), 0, BF
         PSET ((c * 16) + 355, 85), 10: DRAW "r10lul8rur6lul4rur2"
      CASE CHR$(27): salida
   END SELECT

   IF ht < 10 THEN : ht = 10: SOUND 600, 1
   IF ht > 100 THEN : ht = 100: SOUND 600, 1
   IF vt < 10 THEN : vt = 10: SOUND 600, 1
   IF vt > 100 THEN : vt = 100: SOUND 600, 1

   LINE (ht - 1, vt - 1)-STEP(10, 10), 10, B

   cpp = POINT(ht + 1, vt + 1)
   LINE (355, 80)-(630, 85), 0, BF
   PSET ((cpp * 16) + 355, 85), 10: DRAW "r10lul8rur6lul4rur2"

LOOP

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                      
SUB dibujasala

LINE (4, 127)-(635, 475), 0, BF

n = 265
FOR h = 12 TO 135 STEP 11
   n = n - 11
   FOR v = n TO n + 190 STEP 21
      PUT (h, v), lado
   NEXT
NEXT


FOR h = 144 TO 622 STEP 21
   FOR v = 133 TO 342 STEP 21
      PUT (h, v), frente
   NEXT
NEXT


LINE (33, 230)-(65, 470), 0, BF
FOR v = 242 TO 442 STEP 21
   PUT (34, v), frente
   PUT (55, v - 10), lado
NEXT
PUT (35, 231), arriba


LINE (206, 153)-(290, 279), 0, BF
FOR h = 208 TO 288 STEP 21
   PUT (h, 269), arriba
NEXT
PUT (291, 259), frente, PSET
FOR v = 144 TO 269 STEP 21
   PUT (207, v), lado
NEXT
PUT (207, 133), frente, PSET
PUT (291, 259), frente, PSET

LINE (416, 153)-(542, 379), 0, BF
FOR v = 144 TO 329 STEP 21
   PUT (417, v), lado
NEXT
PUT (417, 133), frente, PSET

LINE (218, 154)-(290, 267), 7, BF
LINE (258, 154)-(258, 267), 0
LINE (225, 154)-(251, 260), 11, BF
LINE (265, 154)-(289, 260), 11, BF
DRAW "bm225,154c8d106rc3r25ul25c8u105"
DRAW "bm265,154c8d106rc3r23ul23c8u105"

LINE (260, 210)-STEP(3, 16), 8, BF
DRAW "bm262,218 c15g2nd10de2"

LINE (428, 154)-(541, 330), 7, BF
LINE (488, 154)-(488, 330), 0
LINE (438, 156)-(478, 303), 11, BF
DRAW "bm438,156c8d147rc3r39ul39c8u146"
LINE (498, 156)-(538, 303), 11, BF
DRAW "bm498,156c8d147rc3r39ul39c8u146"
LINE (491, 250)-STEP(4, 16), 8, BF
DRAW "bm492,258 c15g3r15el14e2"

LINE (206, 153)-(290, 279), 0, B
LINE (416, 153)-(542, 379), 0, B


END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                      
SUB reconoce

FOR h = 10 TO 106 STEP 10
   FOR v = 10 TO 106 STEP 10
      c = POINT(h, v)
      LINE ((h / 5) + 150, (v / 5) + 80)-STEP(1, 1), c, B
      LINE ((h / 10) + 172, (v / 5) + 80 - (h / 10))-STEP(0, 1), c
      LINE ((h / 5) + 161 - (v / 10), (v / 10) + 70)-STEP(1, 0), c
      LINE ((h / 5) + 220, (v / 5) + 80)-STEP(1, 1), c, B
      LINE ((h / 10) + 250, (v / 5) + 80 - (h / 10))-STEP(0, 1), c
      LINE ((h / 5) + 280 - (v / 10), (v / 10) + 90)-STEP(1, 0), c
   NEXT
NEXT

GET (222, 82)-STEP(19, 19), frente
GET (251, 72)-STEP(9, 29), lado
GET (272, 91)-STEP(29, 9), arriba

dibujasala
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                      
SUB salida

c = 5
IF POINT(1, 1) > 0 THEN
   GET (180, 226)-(459, 324), detras

   LINE (180, 226)-(459, 324), 0, BF
   LINE (180, 226)-(459, 324), c, B
   LOCATE 17, 27: PRINT " ¨Salir ahora de Losetaris? "
   LOCATE 19, 27: PRINT "  ÄÙ: Salir   ESC: Volver"
   LINE (183, 229)-(456, 321), c, B
   PAINT (181, 227), 13, 5

   DO
      kbd$ = INKEY$
   LOOP WHILE kbd$ = ""
   IF kbd$ <> CHR$(13) THEN : PUT (180, 226), detras, PSET: EXIT SUB
END IF


CLS
LINE (20, 20)-(619, 459), 5, B

LINE (180, 125)-(459, 354), c, B
PAINT (181, 121), 3, 5
LINE (20, 20)-(619, 459), 3, B
COLOR 13: LOCATE 12, 27: PRINT "  L O S E T A R I S    1.O"
LOCATE 14, 27: PRINT "       Hecho en Ronda"
LOCATE 21, 27: PRINT " Pulsa una tecla para salir "
LINE (183, 128)-(456, 256), c, B
LINE (183, 259)-(456, 351), c, B
PAINT (181, 126), 13, 5

DRAW "bm330,300 c5d3l20u20r20d3 lu2l18d18r18u2 c13bu6l13ur10nu4d4uru6drd4uru2drl5ul9"

COLOR 0
END
END SUB

