User Tools

Site Tools


en:antigrad

ANTIGRAD

Info

Author ????????????
Compatibility Amstrad PCW 8256 / 8512 / 9512
Year ????
Gender Arcade
Controls Keyboard
Language Spanish
Status Preserved

Screenshots

Description

A minigame with exceptional graphic quality. Our mission is to go through the floors and collect the 12 coins that are distributed three per floor (4 floors) and a rest area. Once we have them in our possession we will go for the key (form of Ñ) to be able to pass the level.

We will have against time, so we will have to hurry to collect all the coins before it runs out. Each coin will add us points. We start the game with three lives. But not everything is easy in the game, there is also machinery on each floor that can crush us if we are not agile.

Listing

  • Listing - 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

Controls

       ↑ = UP
       ↓ = DOWN
       → = RIGHT
       ← = LEFT
   SPACE = JUMP
      

Loading the program

 1.- Insert the CP/M disc on side 2
 2.- Write BASIC and wait for it to load
 3.- Remove the CP/M disk and insert the disk containing the Antigrad game
 4.- Type run "Antigrad" and press the "ENTER" key

Download

  • Antigrad (game in dsk format, compressed with zip)

Video

en/antigrad.txt · Last modified: 2022/06/30 02:00 by jevicac