' GRUA
'
'           Flechas = Mover     Escape  = Salir
'
'       ------------------------------------------
'
'                   es.geocities.com/jm00092
'
'
'
DECLARE SUB cables (h!, v!)
DECLARE SUB estructura ()
colorgrua = 3
colorfondo = 0
SCREEN 12
PALETTE 3, 63
estructura
v = 270
h = 370
cables h, v
LINE (h, v)-STEP(20, 20), 8, BF
DO
   DO
      kbd$ = INKEY$
   LOOP WHILE kbd$ = ""
   LINE (h, v)-STEP(20, 20), colorfondo, BF
   SELECT CASE kbd$
      CASE CHR$(0) + "H": v = v - 20
      CASE CHR$(0) + "P": v = v + 20
      CASE CHR$(0) + "K": h = h - 20
      CASE CHR$(0) + "M": h = h + 20
   END SELECT
   IF h < 170 THEN : h = 170: SOUND 60, 1
   IF h > 610 THEN : h = 610: SOUND 60, 1
   IF v < 130 THEN : v = 130: SOUND 60, 1
   IF v > 450 THEN : v = 450: SOUND 60, 1
   cables h, v
   LINE (h, v)-STEP(20, 20), 8, BF
LOOP UNTIL kbd$ = CHR$(27)

SUB cables (h, v)
SHARED colorgrua, colorfondo
IF h = 170 THEN e = 20 ELSE e = 0
IF h = 610 THEN f = 20 ELSE f = 0
LINE (h - 20 + e, 123)-(h + 40 - f, v + 20), colorfondo, BF
LINE (h + 8, 123)-(h + 11, v - 8), 7, B
LINE (h + 2, 120)-(h + 17, 125), colorgrua, BF
LINE (h + 6, v - 10)-(h + 13, v - 6), colorgrua, BF
PSET (h + 10, v - 6), colorgrua: DRAW "ddrdddlllu"
END SUB

SUB estructura
SHARED colorfondo, colorgrua
PAINT (1, 1), colorfondo
LINE (140, 120)-(142, 480), colorgrua, BF
LINE (160, 120)-(162, 480), colorgrua, BF
FOR v = 120 TO 460 STEP 20
   LINE (141, v)-(161, v + 20), colorgrua
   LINE (161, v)-(141, v + 20), colorgrua
   LINE (141, v + 1)-(161, v + 21), colorgrua
   LINE (161, v + 1)-(141, v + 21), colorgrua
NEXT
LINE (10, 120)-(628, 122), colorgrua, BF
LINE (30, 110)-(610, 112), colorgrua, BF
FOR h = 12 TO 600 STEP 41
   LINE (h, 121)-(h + 20, 111), colorgrua
   LINE STEP(0, 0)-(h + 40, 121), colorgrua
   LINE (h + 1, 121)-(h + 21, 111), colorgrua
   LINE STEP(0, 0)-(h + 41, 121), colorgrua
NEXT
LINE (10, 123)-(60, 145), 7, BF
LINE (26, 122)-(44, 145), colorgrua, B
LINE (135, 120)-(167, 125), colorgrua, BF
LINE (137, 127)-(165, 128), colorgrua, BF
LINE (145, 120)-(195, 20), colorgrua
LINE (146, 120)-(195, 20), colorgrua
LINE (150, 120)-(195, 20), colorgrua
LINE (151, 120)-(195, 20), colorgrua
LINE (155, 120)-(195, 20), colorgrua
LINE (156, 120)-(195, 20), colorgrua
LINE (195, 20)-(50, 110), colorgrua
LINE (195, 20)-(600, 110), colorgrua
LINE (195, 20)-(355, 110), colorgrua
LINE (80, 477)-(222, 479), colorgrua, BF
END SUB

