1 RANDOMIZE TIMER: RESTORE: n = 0: m = 0: DIM h$(1): DIM o$(4): DIM aw(400): DIM az(400): DIM an(200): DIM am(200) 2 DIM posic(25, 80): h = 0: v = 0: c = 0: setconsoletitle ("Elige teclas de movimientos..") : GOSUB 1000 3 vi = 500: pu = 150: p = 0: a = 1: b = 0 : setconsoletitle ("El Gran Juego de las MINAS") 4 FOR f = 1 TO 25: FOR g = 1 TO 80: posic(f, g) = 0: NEXT g: NEXT f 10 cls 11 z = 1: w = 3 for f=1 to 80 : locate 1,f : print "*" : locate 24,f : print "*" : next f : for f=1 to 24 : locate f,1 : print "*" : locate f,80 : print "*" : next f 14 LOCATE 24, 10: PRINT " PUNTOS: " 15 LOCATE 1, 22: PRINT " " ; CHR$(3) ; " " ; pu ; " " 17 locate 1, 42: print " " ; chr$(1) ; " " ; vi ; " " 20 LOCATE 25, 4: PRINT "Record: "; h ; " por " ; h$(1) ; " / @ by Kike`s Software"; 30 x = 2: y = 2 35 FOR f = 1 TO w: LOCATE 24, f: PRINT CHR$(1); " "; : NEXT f 50 LOCATE x, y: PRINT CHR$(1); 52 if (p=pu) then pu = pu + INT(RND(100) + 150): LOCATE 1, 25: PRINT pu ; " " : e = INT(RND(22)) + 2: u = INT(RND(78)) + 2: LOCATE e, u: PRINT CHR$(3); : posic(e, u) = 3 end if 54 IF p >= vi THEN vi = vi + 300 : locate 1, 42: print " " ; chr$(1) ; " " ; vi ; " " w = w + 1: LOCATE 24, w: PRINT CHR$(1); : GOTO 35 end if 56 p = p + 1: LOCATE 24, 19: PRINT p ; " " 60 v = v + 1 IF v >= 5 THEN v = 0: c = c + 1: LOCATE aw(c), az(c): posic(aw(c), az(c)) = 1: PRINT CHR$(43); end if 65 IF c >= 400 THEN c = 4 66 n = n + 1 IF n >= 60 THEN n = 0: m = m + 1: LOCATE an(m), am(m): posic(an(m), am(m)) = 2: PRINT CHR$(2); end if 68 IF m >= 200 THEN m = 6 69 a$ = INKEY$ 70 IF a$ = o$(2) THEN a = 1: b = 0 end if 80 IF a$ = o$(1) THEN a = -1: b = 0 end if 90 IF a$ = o$(4) THEN a = 0: b = 1 end if 100 IF a$ = o$(3) THEN a = 0: b = -1 end if 103 sleep 1/8 : LOCATE x, y: PRINT CHR$(254); : posic(x, y) = 4 105 y = y + a: x = x + b 108 IF y > 79 THEN y = 39: GOTO 8000 end if 109 IF x > 23 THEN x = 23: GOTO 8000 end if 110 IF x < 2 THEN x = 2: GOTO 8000 end if 116 IF y < 2 THEN y = 2: GOTO 8000 end if 120 IF (posic(x, y) = 1 OR posic(x, y) = 4) THEN GOTO 8000 121 IF z = 0 THEN z = 1: GOTO 35 end if 124 IF posic(x, y) = 2 THEN p = p + 30 end if 125 IF posic(x, y) = 3 THEN LOCATE x, y: PRINT CHR$(1); : GOSUB 7000 end if 130 GOTO 50 997 FOR f = 1 TO 100 998 NEXT f 999 END 1000 DATA "Izquierda", "Derecha ", "Arriba ", "Abajo " 1010 GOSUB 2000 1020 CLS 1100 RESTORE 1000: FOR f = 1 TO 4: READ z$: LOCATE 7, 12: PRINT z$; 1110 a$ = INKEY$: IF a$ = "" THEN GOTO 1110 1120 o$(f) = a$ 1130 NEXT f 1500 RETURN 2000 LOCATE 10, 10: PRINT "Espera un momento"; 2020 FOR f = 1 TO 400 2030 aw(f) = INT(RND(22)) + 2: az(f) = INT(RND(78)) + 2 2040 NEXT f 2050 FOR f = 1 TO 200 2060 an(f) = INT(RND(22)) + 2: am(f) = INT(RND(78)) + 2 2070 NEXT f: RETURN 5000 j = 0 IF p > h THEN j = 1: LOCATE 13, 2: PRINT "­RECORD!"; end if 5010 LOCATE 5, 9: PRINT " "; h; : LOCATE 8, 2: PRINT "Tu Puntuacion: "; p; : LOCATE 5, 17: PRINT h$(1); 5012 IF j = 1 THEN h = p: GOSUB 6000 end if 5020 LOCATE 5, 5: PRINT "Record: "; h; " "; : LOCATE 5, 17: PRINT h$(1); 5023 LOCATE 10, 10: PRINT "Pulsa una tecla"; 5025 a$ = INKEY$: IF a$ = "" THEN GOTO 5025 5030 CLS : GOSUB 2000: GOTO 3 6000 LOCATE 24, 1: PRINT "šTu Nombre ? "; : INPUT h$(1): CLS 6010 RETURN 7000 bo = 0: q = 0 7005 FOR f = 2 TO 23: FOR g = 2 TO 79 7010 IF posic(f, g) = 4 THEN FOR zz = 1 TO 150: NEXT zz: q = q + .1: LOCATE f, g: posic(f, g) = 0: PRINT " "; : GOTO 7020 end if 7015 IF posic(f, g) = 1 THEN FOR zz = 1 TO 1000: NEXT zz: bo = bo + 1 IF bo = 3 THEN bo = 0 LOCATE f, g: posic(f, g) = 0: PRINT " "; : GOTO 7020 end if end if 7016 IF posic(f, g) = 1 THEN GOTO 7020 7020 NEXT g: NEXT f 7030 q = INT(q): p = p + q: LOCATE 24, 19: PRINT p ; " " : FOR f = 1 TO 1000: NEXT f 7100 RETURN 8000 z = 0: LOCATE x, y: PRINT CHR$(1); : FOR zz = 1 TO 5000: NEXT zz: w = w - 1 IF w <= 0 THEN CLS : GOTO 5000 end if 8010 GOTO 121