====== ANTIGRAD ====== {{:otros:Antigrad_p1.jpg?690|}} ===== Ficha ===== ^ Autor | ????????????? | ^ Compatibilidad | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | ???? | ^ Género | Arcade | ^ Controles | Teclado | ^ Idioma | Español | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:Antigrad_screenshot01.png?220}} {{:otros:Antigrad_screenshot02.png?220}} {{:otros:Antigrad_screenshot03.png?220}} {{:otros:Antigrad_screenshot04.png?220}} ===== Descripción ===== Un minijuego con una calidad gráfica excepcional. Nuestra misión es recorrer los pisos e ir cogiendo las 12 monedas que se encuentran distribuidas en tres por piso (4 pisos) y un área de descanso. Una vez las tengamos en nuestro poder iremos a por la llave (forma de Ñ) para poder pasar de nivel. Tendremos en contra el tiempo, así que habrá que darse prisa en recoger todas las monedas antes de que se agote el mismo. Cada moneda nos irá sumando puntos. Comenzamos el juego con tres vidas. Pero no todo es fácil en el juego, también hay una maquinaria en cada planta que podrá aplastarnos si no somos ágiles. ===== Listado ===== * **__Listado - ANTIGRAD.BAS__** 10 MEMORY 62210! 20 d=62928!:inic=d:GOSUB 60 30 d=62212!:symbol=d:GOSUB 60 40 CALL inic 50 GOTO 150 60 READ a$:IF a$="$" THEN RETURN ELSE GOTO 70 70 byte=VAL("&H"+a$):POKE d,byte 80 d=d+1 90 GOTO 60 100 DATA 2A,01,00,11,57,00,19,22,02,F6,01,E3,F5,CD,01,F6,E9,00,C9,11,98,2C,21,00,B6,06,20,C5,06,08,73,23,72,23,13,10,F9,E5,EB,01,60,01,09,EB,E1,C1,10,EB,C9,C3,00,00,$ 110 DATA 7E,32,40,F3,21,40,F3,06,08,1A,23,77,13,13,10,F9,2A,01,00,11,57,00,19,22,3E,F3,01,27,F3,CD,3D,F3,E9,00,C9,2A,40,F3,26,00,29,29,29,11,00,B8,19,11,41,F3,EB,01,08,00,ED,B0,C9,C3,38,00,0B,00,B0,04,87,20,4C,44,49,$ 120 DATA 198,255,255,255,170,85,0,0,0,199,255,171,213,169,193,129,255,0,200,24,36,102,189,189,24,36,102,201,24,60,126,189,189,24,36,102,202,153,189,102,60,60,24,102,36,203,60,14,54,26,26,26,12,28,204,60,112,108,88,88,48,48,56 130 DATA 205,0,56,108,92,92,56,0,0,206,0,0,240,92,255,92,240,0,207,145,98,62,7,3,3,1,0,208,137,70,124,224,192,192,128,0,209,145,98,62,7,51,31,1,6,210,137,70,124,224,192,192,128,0,211,60,126,255,126,189,195,126,0 140 tiempo=5 150 direcc$="1":PRINT CHR$(27);"f" 160 DIM test(20,20) 170 GOSUB 800 180 GOSUB 1500 190 a$=CHR$(207)+CHR$(208):b$=CHR$(209)+CHR$(210) 200 ti=80:ve=20:ni=0:pu=0:m=2:vi=3 210 GOSUB 640:GOSUB 1030:GOSUB 1350 220 ' 230 piedra=12 240 x=18:y=5 250 PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(200) 260 ' 270 WHILE ti>0 280 IF vidextr>500 AND vi<4 THEN vidextr=0:vi=vi+1:gg=1:GOSUB 1470 290 FOR h=1 TO ve:NEXT h:tiempo=tiempo-1:IF tiempo<0 THEN tiempo=5:GOSUB 820 300 GOSUB 850 310 PRINT CHR$(27);"Y";CHR$(32+5);CHR$(32+2);"\" 320 IF x=2 AND y=5 THEN GOSUB 1100 330 ink$=INKEY$:IF ink$=CHR$(31) AND x=5 OR ink$=CHR$(31) AND x=14 THEN y=y-3:IF y<4 THEN y=5 ELSE PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(201);CHR$(27);"Y";CHR$(32+y+3);CHR$(32+x);CHR$(32):GOSUB 480:GOSUB 580 340 IF ink$=CHR$(30) AND x=5 OR ink$=CHR$(30) AND x=14 THEN y=y+3:IF y>20 THEN y=20:PRINT CHR$(27);"Y";CHR$(32+y-3);CHR$(32+x);CHR$(32):PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(200) ELSE PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);:GOTO 360 350 GOTO 370 360 PRINT CHR$(202):PRINT CHR$(27);"Y";CHR$(32+y-3);CHR$(32+x);CHR$(32):GOSUB 480:GOSUB 580 370 IF ink$=CHR$(1) THEN direcc$="1":x=x-1:GOSUB 520:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(203);CHR$(32):GOSUB 480:GOSUB 580 380 IF ink$=CHR$(6) THEN direcc$="2":x=x+1:GOSUB 550:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x-1);CHR$(32);CHR$(204):GOSUB 480:GOSUB 580 390 IF ink$=" " AND direcc$="1" THEN PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(32):y=y-1:GOSUB 520:GOSUB 550:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);a$:GOSUB 610:GOSUB 500:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);" ":y=y+1:GOTO 410 400 GOTO 420 410 PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(203):GOSUB 1550:GOTO 270 420 IF ink$=" " AND direcc$="2" THEN PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(32):y=y-1:x=x-1:GOSUB 520:GOSUB 550:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);b$:GOSUB 610:GOSUB 500:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);" ":x=x+1:y=y+1:GOTO 440 430 GOTO 460 440 PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(204):GOSUB 1550:GOTO 270 450 ' 460 WEND 470 STOP 480 ' 490 pu=pu+1:vidextr=vidextr+1:PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+17);USING "####";pu:RETURN 500 ' 510 FOR pg=1 TO 200:NEXT pg:RETURN 520 ' 530 IF x<=1 THEN x=2 540 RETURN 550 ' 560 IF x>=20 THEN x=19 570 RETURN 580 ' 590 ' 600 RETURN 610 ' 620 ' 630 RETURN 640 ' 650 PRINT CHR$(27);"x":PRINT CHR$(22);CHR$(1) 660 by=6 670 FOR bx=1 TO 4:GOSUB 760:NEXT bx 680 FOR bx=6 TO 13:GOSUB 760:NEXT bx 690 FOR bx=15 TO 20:GOSUB 760:NEXT bx 700 IF by=18 THEN GOTO 710 ELSE by=by+3:GOTO 670 710 FOR bt=5 TO 21:PRINT CHR$(27);"Y";CHR$(32+bt);CHR$(32+1);CHR$(199):NEXT bt 720 FOR bx=2 TO 20:by=21:GOSUB 760:NEXT bx 730 FOR bt=21 TO 5 STEP -1:PRINT CHR$(27);"Y";CHR$(32+bt);CHR$(32+20);CHR$(199):NEXT bt 740 FOR n=6 TO 18 STEP 3:PRINT CHR$(27);"Y";CHR$(32+n);CHR$(32+5);CHR$(211):PRINT CHR$(27);"Y";CHR$(32+n);CHR$(32+14);CHR$(211):NEXT n 750 PRINT CHR$(22);CHR$(0):RETURN 760 PRINT CHR$(27);"Y";CHR$(32+by);CHR$(32+bx);CHR$(198) 770 RETURN 780 RETURN 790 ' 800 FOR a=1 TO 14:READ char$:char%=VAL(char$):FOR b=0 TO 7:READ d$(b):d%(b)=VAL(d$(b)):NEXT b:CALL symbol(char%,d%(0)):NEXT a 810 RETURN 820 ' 830 ti=ti-1:PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+8);ti 840 IF ti=0 THEN vi=1:GOTO 980 ELSE RETURN 850 ' 860 ' 870 FOR t=8 TO 17 STEP 3 880 PRINT CHR$(27);"Y";CHR$(32+t);CHR$(32+m);CHR$(206) 890 IF m>2 THEN PRINT CHR$(27);"Y";CHR$(32+t);CHR$(32+m-1);CHR$(32) 900 IF m>18 THEN PRINT CHR$(27);"Y";CHR$(32+t);CHR$(32+m);CHR$(32):FOR f=8 TO 18 STEP 3:PRINT CHR$(27);"Y";CHR$(32+f);CHR$(32+m-1);CHR$(32):NEXT f:m=2 910 IF x=m AND t=y THEN GOSUB 980 920 IF x=19 AND m=18 AND t=y THEN GOSUB 980 930 NEXT t 940 m=m+1 950 ' 960 ' 970 RETURN 980 ' 990 PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);" ":vi=vi-1 1000 IF vi>0 THEN PRINT CHR$(27);"Y";CHR$(32+3);CHR$(32+9);STRING$(vi-1,CHR$(200));" " 1010 ' 1020 IF vi=0 THEN GOTO 1260 ELSE x=18:y=5:PRINT CHR$(27);"Y";CHR$(32+y);CHR$(32+x);CHR$(200):RETURN 1030 ' 1040 FOR tx=6 TO 16 STEP 5 1050 FOR ty=7 TO 16 STEP 3 1060 PRINT CHR$(27);"Y";CHR$(32+ty);CHR$(32+tx);CHR$(205) 1070 test(ty,tx)=1 1080 NEXT ty,tx 1090 RETURN 1100 ' 1110 xx=x:yy=y 1120 x=0:y=0 1130 FOR u=175 TO 495 STEP 160 1140 FOR p=105 TO 300 STEP 50 1150 IF piedra>0 THEN x=xx:y=yy:RETURN 1160 NEXT p,u 1170 ' 1180 PRINT CHR$(27);"Y";CHR$(32+8);CHR$(32+24);"¯ LO HICISTE !":piedra=12 1190 FOR h=1 TO 2000:NEXT h 1200 PRINT CHR$(27);"Y";CHR$(32+8);CHR$(32+24);STRING$(20,32) 1210 ve=ve-1:IF ve<14 THEN ve=15 1220 ni=ni+4 1230 IF ni>60 THEN ni=60 1240 ti=40+ni 1250 GOSUB 1030:GOTO 240 1260 REM FINAL 1270 PRINT CHR$(27);"E";CHR$(27);"H" 1280 PRINT CHR$(27);"Y";CHR$(32+2);CHR$(32+20);"GAME OVER" 1290 PRINT CHR$(27);"Y";CHR$(32+4);CHR$(32+18);"Puntuacion:";pu;"puntos" 1300 PRINT:PRINT TAB(16);"®Quieres jugar de nuevo?" 1310 sn$=UPPER$(INPUT$(1)) 1320 IF sn$<>"S" AND sn$<>"N" THEN GOTO 1310 1330 IF sn$="S" THEN PRINT CHR$(27);"y":GOTO 1340 ELSE PRINT CHR$(27);"e";CHR$(27);"y";CHR$(27);"e":SYSTEM 1340 PRINT CHR$(27);"E";CHR$(27);"H";:RUN 1350 ' 1360 ' 1370 FOR q=1 TO 3 1380 FOR w=1 TO 20 1390 READ e:PRINT CHR$(27);"Y";CHR$(32+q);CHR$(32+w);CHR$(e) 1400 NEXT w,q 1410 DATA 180,180,180,180,180,180,180,180,32,180,32,180,32,180,180,180,180,180,180,180 1420 DATA 39,39,32,39,39,39,39,39,32,32,32,32,39,39,39,39,39,32,39,39 1430 DATA 47,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,92 1440 PRINT CHR$(27);"Y";CHR$(32+2);CHR$(32+9);"VIDA" 1450 PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+1);"TIEMPO";CHR$(27);"Y";CHR$(32+22);CHR$(32+13);"PTS" 1460 PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+8);ti 1470 PRINT CHR$(27);"Y";CHR$(32+3);CHR$(32+9);STRING$(vi-1,200):IF gg=1 THEN gg=0:GOTO 1490 1480 PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+19);pu 1490 RETURN 1500 ' 1510 PRINT CHR$(27);"E";CHR$(27);"H";"ANTIGRAD":PRINT:PRINT "Pulse una tecla para comenzar" 1520 WHILE INKEY$="":WEND 1530 PRINT CHR$(27);"E";CHR$(27);"H" 1540 RETURN 1550 IF direcc$="1" THEN GOTO 1560 ELSE GOTO 1570 1560 IF test(y-1,x)=1 OR test(y-1,x+1)=1 THEN piedra=piedra-1:test(y-1,x+1)=0:test(y-1,x)=0:pu=pu+10:vidextr=vidextr+10:PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+17);USING "####";pu:GOTO 1580 1570 IF test(y-1,x)=1 OR test(y-1,x-1)=1 THEN piedra=piedra-1:test(y-1,x-1)=0:test(y-1,x)=0:pu=pu+10:vidextr=vidextr+10:PRINT CHR$(27);"Y";CHR$(32+22);CHR$(32+17);USING "####";pu:GOTO 1580 1580 RETURN ===== Controles ===== ↑ = ARRIBA ↓ = ABAJO → = DERECHA ← = IZQUIERDA ESPACIO = SALTAR ===== Carga del programa ===== 1.- Introducir el disco CP/M por la cara 2 2.- Escribir BASIC y esperar a que cargue 3.- Retirar el disco CP/M e introducir el disco que contiene el juego Antigrad 4.- Teclear run "Antigrad" y pulsar la tecla "ENTER" ===== Extras ===== ===== Descarga ===== * {{:otros:Antigrad (Basic).zip|Antigrad }}(juego en formato dsk, comprimido con zip) ===== Vídeos ===== {{ youtube>2n8WRtm2798?large }}