This 8K/16K adventure game of survival challenges you with man-eating spiders, giant bats, pits and monzxers. You are in a cave with 5 levels of 20 rooms each. With only 3 arrows, you must kill three monzxers to emerge alive.
If you enter a spider room (2 per level), you are caught in their web and must shoot them, but they are gone after you shoot them.
Pits (2 per level) drop you a level if you are at level 4 or higher, but the room you land in may not be safe. Level 5 contains bottomless pits (ending the game).
If you enter a room with bats (2 per level), they carry you to another room (perhaps not safe) on the same level and return.
One room in the cave contains a sword. If you go in that room, the sword is yours to keep.
Three monzxers lurk in the cave, not necessarily on different levels. If you enter their room, they will instantly kill you unless you have a sword. Kill a monzxer by shooting an arrow into its room.
The computer warns you of nearby threats. One room away from a pit, it prints ‘I FEEL A DRAFT.’ One room from a spider it says ‘I SEE COBWEBS.’ One room from bats you read ‘BATS NEARBY.’ One or two rooms from a monzxer, your guide says ‘I SMELL A MONZXER.’
The computer gives your position and which 3 rooms there are tunnels to on the same level. You can move or shoot, then specify the room to enter or the arrow’s path. The arrow will not fall in a pit, be carried by bats, or stop in a spider’s room. If its path returns it to your room, it kills you.
The game ends when you kill all 3 monzxers, shoot yourself, a spider or a monzxer eats you, or you fall in a bottomless pit. To exit early, hit BREAK when it asks “MOVE OR SHOOT?”
I’d like to hear from others about this program or anyone having trouble with the 16K RAM dumping out programs. I wrote a program to play Monopoly against the computer; please write if you’re interested.
(For a description of line and subroutine functions, send us a self-addressed stamped envelope.–AZ)
1 RAND
10 PRINT AT 10,4;"AN A. Q. BANTA PRODUCTION"
20 PAUSE 300
25 POKE 16437,255
30 CLS
50 PRINT AT 10,20;"SUPER"
60 PRINT AT 12,18;"MONZXER"
70 FOR I=3 TO 37
80 FOR J=11 TO 19
90 PLOT J,I
100 NEXT J
110 NEXT I
120 FOR I=16 TO 24
130 FOR J=8 TO 22
140 PLOT J,I
150 NEXT J
160 NEXT I
170 FOR I=22 TO 32
180 PLOT 6,I
190 PLOT 24,I
200 NEXT I
210 PLOT 5,22
220 PLOT 7,22
225 PLOT 7,21
230 PLOT 23,22
235 PLOT 25,22
240 PLOT 23,21
245 PLOT 25,21
250 PLOT 9,35
255 PLOT 10,35
265 PLOT 10,36
270 PLOT 20,36
275 PLOT 20,35
280 PLOT 21,35
285 FOR I=14 TO 16
290 FOR J=3 TO 16
295 UNPLOT I,J
300 NEXT J
305 NEXT I
307 PLOT 23,33
312 PLOT 7,33
315 PLOT 7,32
320 FOR I=5 TO 25
325 IF I=14 THEN LET I=17
330 PLOT I,3
335 NEXT I
338 FOR I=6 TO 24
340 IF I=14 THEN LET I=17
342 PLOT I,4
345 NEXT I
350 PRINT AT 21,3;""" """
352 PRINT AT 21,9;""" """
355 PRINT AT 7,5;"Q"
357 PRINT AT 7,9;"Q"
360 PRINT AT 9,5" "
365 PRINT AT 5,22;" ----/"
370 PRINT AT 4,28;"/"
375 PRINT AT 3,29;"/"
380 PRINT AT 2,30;"/"
382 UNPLOT 8,17
385 UNPLOT 8,16
387 UNPLOT 9,16
390 UNPLOT 21,16
392 UNPLOT 22,16
395 UNPLOT 22,17
397 PAUSE 600
398 POKE 16437,255
400 DIM R(3,101)
401 DIM A(6)
402 FOR I=1 TO 3
403 LET R(I,101)=101
404 NEXT I
406 LET SW=0
407 LET DM=0
408 FOR L=0 TO 80 STEP 20
410 FOR I=1 TO 20
415 LET K=L+I
420 FOR J=1 TO 3
422 LET J1=J
425 IF J1<INT ((I-1)/5) THEN LET J1=J1-1
430 IF R(J,K)>0 THEN GOTO 495
435 LET G=INT (RND*5)+J1*5+L+1
436 FOR M=1 TO 5
437 IF R(J,L+M+INT ((I-1)/5)*5)=G THEN GOTO 435
438 NEXT M
440 FOR H=1 TO 3
445 IF R(H,G)=K THEN GOTO 435
450 IF R(H,G)=0 THEN GOTO 465
455 NEXT H
460 GOTO 435
465 LET R(J,K)=G
490 LET R(H,G)=K
495 NEXT J
500 NEXT I
510 NEXT L
525 LET YR=INT (RND*20)+1
535 LET S1=6
610 DIM X(36)
620 DIM T(30)
630 DIM C(30)
640 DIM Q(30)
650 DIM W(3)
660 DIM S(10)
670 DIM B(10)
680 DIM P(10)
690 LET DM=0
695 LET SW=0
700 LET SR=INT (RND*100)+1
710 FOR I=1 TO 3
720 LET W(I)=INT (RND*100)+1
725 IF W(I)=YR THEN GOTO 720
730 NEXT I
740 FOR I=1 TO 9 STEP 2
745 FOR J=0 TO 1
750 LET S(I+J)=(INT (RND*20)+1)+20*INT (I/2)
760 LET B(I+J)=(INT (RND*20)+1)+20*INT (I/2)
770 LET P(I+J)=(INT (RND*20)+1)+20*INT (I/2)
780 NEXT J
790 NEXT I
800 FOR I=0 TO 9
810 FOR J=1 TO 3
820 LET T(I*3+J)=R(J,S(I+1))
830 LET C(I*3+J)=R(J,B(I+1))
840 LET Q(I*3+J)=R(J,P(I+1))
850 NEXT J
860 NEXT I
870 FOR I=0 TO 2
880 FOR J=1 TO 3
890 LET X(I*3+J)=R(J,W(I+1))
900 FOR L=1 TO 3
910 LET GG=((J-1)*3)+(I*9)+L+9
920 LET X(GG)=R(L,X(I*3+J))
930 NEXT L
950 NEXT J
960 NEXT I
1000 CLS
1010 LET YL=INT ((YR-1)/20)+1
1020 PRINT "YOU/RE ON LEVEL ";YL
1030 PRINT "YOU/RE IN ROOM ";YR-(YL-1)*20
1032 IF YR=SR THEN PRINT "THERE IS A SWORD IN THE ROOM"
1037 IF YR=SR THEN LET SW=1
1040 FOR I=1 TO 30
1050 IF YR=T(I) THEN GOTO 1080
1060 NEXT I
1070 GOTO 1090
1080 PRINT "I SEE COBWEBS"
1090 FOR I=1 TO 36
1100 IF YR=X(I) THEN GOTO 1130
1110 NEXT I
1120 GOTO 1140
1130 PRINT "I SMELL A MONZXER"
1040 FOR I=1 TO 30
1150 IF YR=Q(I) THEN GOTO 1180
1160 NEXT I
1170 GOTO 1190
1180 PRINT "I FEEL A DRAFT"
1190 FOR I=1 TO 30
1200 IF YR=C(I) THEN GOTO 1230
1210 NEXT I
1220 GOTO 1240
1230 PRINT "BATS NEARBY"
1240 FOR I=1 TO 3
1250 IF YR=W(I) THEN GOTO 1280
1260 NEXT I
1270 GOTO 1300
1280 PRINT "THERE IS A MONZXER IN YOUR ROOM"
1281 IF SW=1 THEN GOTO 1285
1282 PRINT "AND IT ATE YOU"
1284 GOTO 3000
1285 PRINT "BUT YOU KILLED IT WITH YOUR SWORD"
1290 PAUSE 300
1291 POKE 16437,255
1292 LET DM=DM+1
1294 IF DM=3 THEN GOTO 2990
1297 LET W(I)=101
1298 GOTO 870
1300 FOR I=1 TO 10
1310 IF YR=B(I) THEN GOTO 1340
1320 NEXT I
1330 GOTO 1380
1340 CLS
1350 LET YR=(INT (RND*20)+1)+(YL-1)*20
1360 PRINT "BATS TOOK YOU TO ROOM ";YR-(YL-1)*20
1370 GOTO 1010
1380 FOR I=1 TO 10
1390 IF YR=S(I) THEN GOTO 1470
1400 NEXT I
1410 GO TO 1430
1420 PRINT "THERE IS A SPIDER IN YOUR ROOM"
1430 FOR I=1 TO 10
1440 IF YR=P(I) THEN GOTO 1470
1450 NEXT I
1460 GOTO 1540
1470 IF YL=5 THEN GOTO 1520
1480 CLS
1490 PRINT "YOU FELL IN A PIT"
1500 LET YR=YR+20
1510 GOTO 1010
1520 PRINT "YOU FELL INTO A BOTTOMLESS PIT"
1530 GOTO 3000
1540 PRINT "TUNNELS TO ROOMS ";
1550 FOR I=1 TO 3
1560 PRINT " ";R(I,YR)-(YL-1)*20
1570 NEXT I
1580 PRINT
1590 PRINT "MOVE OR SHOOT"
1600 PAUSE 900
1605 POKE 16437,255
1610 LET K$=INKEY$
1620 IF K$="M" THEN GOTO 1650
1630 IF K$="S" THEN GOTO 2000
1640 GOTO 1600
1650 FOR I=1 TO 10
1652 IF YR=S(I) THEN GOTO 1657
1654 NEXT I
1656 GOTO 1659
1657 PRINT "THE SPIDER GOT YOU"
1658 GOTO 3000
1659 PRINT "WHICH ROOM?"
1660 INPUT YR1
1670 FOR I=1 TO 3
1680 IF YR1=R(I,YR)-(YL-1)*20 THEN GOTO 1720
1690 NEXT I
1700 PRINT "YOU HIT A WALL"
1710 GOTO 1650
1720 LET YR=YR1+(YL-1)*20
1730 GOTO 1000
2000 LET S1=S1-1
2005 FOR I=1 TO 10
2010 IF YR=S(I) THEN GOTO 2035
2020 NEXT I
2030 GOTO 2060
2035 PRINT "YOU KILLED THE SPIDER"
2040 PAUSE 300
2042 POKE 16437,255
2045 LET S(I)=101
2050 GOTO 800
2060 CLS
2070 PRINT "MAKE A LIST OF 5 ROOMS FOR THE ARROWS FLIGHT"
2080 FOR I=2 TO 6
2090 INPUT A(I)
2100 PRINT A(I)
2105 LET A(I)=A(I)+(YL-1)*20
2110 NEXT I
2120 LET A(1)=YR
2130 FOR I=2 TO 6
2140 FOR J=1 TO 3
2150 IF A(I)=R(J,A(I-1)) THEN GOTO 2180
2160 NEXT J
2165 LET J=INT (RND*3)+1
2170 LET A(I)=R(J,A(I-1))
2180 FOR J=1 TO 3
2190 IF A(I)=W(J) THEN GOTO 2220
2200 NEXT J
2210 GOTO 2230
2220 PRINT "YOU SLEW A MONZXER"
2221 LET W(J)=101
2222 PAUSE 300
2223 POKE 16437,255
2224 LET DM=DM+1
2225 IF DM=3 THEN GOTO 2990
2226 IF S1=0 THEN GOTO 2283
2228 GOTO 870
2230 IF NOT A(I)=YR THEN GOTO 2260
2240 PRINT "YOU SHOT YOURSELF"
2250 GOTO 3000
2260 NEXT I
2270 PRINT "YOU MISSED THE MONZXER"
2280 PAUSE 300
2281 POKE 16437,255
2283 IF S1=0 THEN PRINT "YOU ARE OUT OF ARROWS"
2285 IF S1=0 THEN GOTO 3000
2290 GOTO 1000
2990 PRINT "NO MORE MONZXERS, YOU WIN"
3000 PAUSE 600
3002 POKE 16437,255
3005 CLS
3010 PRINT AT 10,10;"PLAY AGAIN?"
3020 PAUSE 900
3022 POKE 16437,255
3030 LET K$=INKEY$
3040 IF K$="Y" THEN GOTO 3070
3050 IF K$="N" THEN STOP
3060 GOTO 3020
3070 PRINT AT 10,6;"SAME TUNNEL SET?"
3080 PAUSE 900
3085 POKE 16437,255
3090 LET K$=INKEY$
3100 IF K$="Y" THEN GOTO 525
3110 IF K$="N" THEN GOTO 400
3120 GOTO 3080
Syntactic Sum: 41313, 8K
Media
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.