Do or Die

Developer(s): Tom Shields
Date: 1983
Type: Program
Platform(s): ZX81, TS 1000
Tags: Game

A maze game for a 16K ZX81. The program draws nested walls in FAST mode, opens doors in them, and prints DO NOW OR DIE. Press a key to start, then move your pixel with 5, 6, 7 and 8 toward the block pixel in the central chamber. An hourglass of asterisks down the right side runs out as you move, and hidden trap doors put you back at the start. Reach the center in time to win; breaking walls or enlarging doors disqualifies you.

A larger value in line 110 gives more time. Pressing S during the pause before play SAVEs the game as DOOR DIE.

Published in Syntax March 1983 (Do or Die).

Related Articles

You are trapped in a Mayan maze-like tomb. A block pixel in the central chamber is the only escape route.

Image Gallery

Source Code

   2 REM LINE 110 CONTROLS TIME
   5 REM "S" SAVES "DO OR DIE"
  10 REM L310,L320 SET "TRAPS"
  15 FAST
  20 GOTO 2000
  50 SLOW
  55 PAUSE 500
  60 IF INKEY$="S" THEN SAVE "DOOR DIE"
  70 PAUSE 40000
 105 LET T=0
 110 LET L=15
 120 LET Z=0
 125 LET X=2
 130 LET Y=2
 135 PLOT X,Y
 136 PLOT X,Y
 140 UNPLOT X,Y
 150 IF INKEY$="5" THEN LET X=X-1
 160 IF INKEY$="6" THEN LET Y=Y-1
 170 IF INKEY$="7" THEN LET Y=Y+1
 180 IF INKEY$="8" THEN LET X=X+1
 190 LET Z=Z+1
 310 IF X=26 AND Y=4 OR X=26 AND Y=12 OR X=26 AND Y=27 OR X=26 AND Y=35 THEN GOTO 120
 320 IF X=8 AND Y=22 OR X=12 AND Y=22 OR X=44 AND Y=22 OR X=48 AND Y=22 THEN GOTO 120
 350 IF Z=L THEN PRINT AT T,31;" "
 355 IF Z=L THEN LET T=T+1
 360 IF Z=L THEN LET Z=0
 370 IF T=22 THEN GOTO 5050
 375 IF X=32 AND Y=18 THEN GOTO 5100
 500 GOTO 135
1175 LET A=A+4
1180 LET B=B-4
1185 LET C=C-4
1200 GOTO 2050
2000 LET A=0
2010 LET B=56
2020 LET C=43
2050 FOR X=A TO B
2060 PLOT X,A
2070 NEXT X
2500 FOR Y=A TO C
2510 PLOT B,Y
2520 NEXT Y
2700 FOR X=B TO A STEP -1
2710 PLOT X,C
2720 NEXT X
2800 FOR Y=C TO A STEP -1
2810 PLOT A,Y
2820 NEXT Y
2825 IF A=16 THEN GOTO 3680
2850 GOTO 1175
3680 LET X=26
3700 FOR Y=4 TO 16 STEP 4
3710 FOR O=27 TO 39 STEP 4
3715 UNPLOT X,O
3720 UNPLOT X,Y
3725 NEXT O
3730 NEXT Y
3805 LET Y=22
3810 FOR X=4 TO 52 STEP 4
3815 UNPLOT X,Y
3820 NEXT X
4000 FOR I=0 TO 21
4040 PRINT AT I,31;"*"
4045 NEXT I
4050 PRINT AT 10,10;" DO NOW";AT 11,10;" OR DIE"
4070 PLOT 32,18
4075 PLOT 2,2
5000 GOTO 50
5050 PRINT AT 10,10;"YOU DIE";AT 11,10;"       "
5055 STOP
5100 IF T<11 THEN GOTO 5050
5110 PRINT AT 10,10;"YOU WIN";AT 11,10;"       "

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.