' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... es.geocities.com/jm00092 ' '______________________________________________________________________ ' ' ' CONSISTE EN LLEVAR LOS CUADROS AZULES A LA DERECHA ' ' DECLARE SUB activabotones (c!) DECLARE SUB mueveizquierda () DECLARE SUB muevederecha () DECLARE SUB pabajo (col!) DECLARE SUB parriba (col!) RANDOMIZE TIMER DIM SHARED mov1(1 TO 1500) DIM SHARED mov2(1 TO 100) SCREEN 12 PALETTE 4, 50 PALETTE 12, 63 LINE (0, 0)-(640, 480), 7, BF LINE (18, 18)-(620, 420), 0, BF LINE (20, 450)-STEP(18, 18), 12, BF LINE (600, 450)-STEP(18, 18), 9, BF FOR h = 40 TO 580 STEP 20 LINE (h, 450)-STEP(18, 18), 8, BF FOR v = 20 TO 380 STEP 40 IF RND < .5 THEN LINE (h, v)-STEP(18, 38), 7, BF NEXT NEXT FOR n = 1 TO 10 h = (INT(RND * 14) + 2) * 20 v = (INT(RND * 10) + .5) * 40 IF POINT(h + 5, v + 15) = 0 THEN LINE (h + 2, v + 13)-STEP(14, 14), 9, BF ELSE n = n - 1 END IF NEXT FOR n = 1 TO 10 h = (INT(RND * 14) + 2) * 20 v = (INT(RND * 10) + .5) * 40 IF POINT(h + 285, v + 15) = 0 THEN LINE (h + 282, v + 13)-STEP(14, 14), 12, BF ELSE n = n - 1 END IF NEXT muevederecha mueveizquierda activabotones (9) col = 39 LINE (col, 449)-STEP(20, 20), 15, B DO WHILE INKEY$ <> "": WEND DO kbd$ = UCASE$(INKEY$) LOOP WHILE kbd$ = "" LINE (col, 449)-STEP(20, 20), 7, B movido = 0 SELECT CASE kbd$ CASE CHR$(0) + "H" IF POINT(col + 8, 458) = 14 THEN parriba col movido = 1 END IF CASE CHR$(0) + "P" IF POINT(col + 8, 458) = 14 THEN pabajo col movido = 1 END IF CASE CHR$(0) + "K": col = col - 20 CASE CHR$(0) + "M": col = col + 20 CASE CHR$(27): END END SELECT IF movido = 1 THEN muevederecha: mueveizquierda: activabotones (9) IF col < 19 THEN col = 599 IF col > 599 THEN col = 19 LINE (col, 449)-STEP(20, 20), 15, B LOCATE 1, 1: PRINT FRE(-2) LOOP ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' SUB activabotones (c) FOR h = 40 TO 580 STEP 20 DRAW "c6bm" + STR$(h + 6) + "," + STR$(458) + "r8h4g3brp6,6" DRAW "c6bm" + STR$(h + 6) + "," + STR$(461) + "r8g4h3brp6,6" FOR v = 20 TO 380 STEP 40 IF POINT(h + 10, v + 20) = c THEN DRAW "c14bm" + STR$(h + 6) + "," + STR$(458) + "r8h4g3brp14,14" DRAW "c14bm" + STR$(h + 6) + "," + STR$(461) + "r8g4h3brp14,14" EXIT FOR END IF NEXT NEXT END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' SUB muevederecha FOR v = 380 TO 20 STEP -40 FOR h = 580 TO 40 STEP -20 IF POINT(h + 10, v + 20) = 9 THEN hh = h vv = v DO WHILE POINT(hh + 10, vv + 60) = 0 LINE (hh + 2, vv + 13)-STEP(14, 14), 0, BF vv = vv + 40 LINE (hh + 2, vv + 13)-STEP(14, 14), 9, BF IF vv > 380 THEN vv = 20 WEND IF POINT(hh + 30, vv + 20) = 0 THEN LINE (hh + 2, vv + 13)-STEP(14, 14), 0, BF hh = hh + 20 LINE (hh + 2, vv + 13)-STEP(14, 14), 9, BF IF hh > 580 THEN SOUND 1000, 1 END IF LOOP UNTIL POINT(hh + 30, vv + 20) <> 0 AND POINT(hh + 10, vv + 60) <> 0 END IF NEXT NEXT END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' SUB mueveizquierda FOR v = 380 TO 20 STEP -40 FOR h = 40 TO 580 STEP 20 IF POINT(h + 10, v + 20) = 12 THEN hh = h vv = v DO WHILE POINT(hh + 10, vv + 60) = 0 LINE (hh + 2, vv + 13)-STEP(14, 14), 0, BF vv = vv + 40 LINE (hh + 2, vv + 13)-STEP(14, 14), 12, BF IF vv > 380 THEN vv = 20 WEND IF POINT(hh - 10, vv + 20) = 0 THEN LINE (hh + 2, vv + 13)-STEP(14, 14), 0, BF hh = hh - 20 LINE (hh + 2, vv + 13)-STEP(14, 14), 12, BF IF hh < 40 THEN SOUND 1000, 1 END IF LOOP UNTIL POINT(hh - 10, vv + 20) <> 0 AND POINT(hh + 10, vv + 60) <> 0 END IF NEXT NEXT END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' SUB pabajo (col) FOR n = 1 TO 20 GET (col + 1, 20)-STEP(18, 397), mov1 GET (col + 1, 418)-STEP(18, 1), mov2 PUT (col + 1, 22), mov1, PSET PUT (col + 1, 20), mov2, PSET NEXT END SUB ' ' © JM. :: Hecho en Ronda ' ' ' Procedente de... www.jm-web.tk :: es.geocities.com/jm00092 ' '______________________________________________________________________ ' SUB parriba (col) FOR n = 1 TO 20 GET (col + 1, 22)-STEP(18, 397), mov1 GET (col + 1, 20)-STEP(18, 1), mov2 PUT (col + 1, 20), mov1, PSET PUT (col + 1, 418), mov2, PSET NEXT END SUB