ZX81 Programs


Read about, play, run, or list games, animations, and more. These are my programs from the ’80s to today.

ZX81 Program Listing

venture (venture.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18718
VARS  : 19511
E-LINE: 19512
STKBOT: 19512
STKEND: 19512


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **SLR VENTURE**SLR/1984
  20 DIM A$(6,32)
  30 LET A$(1)="HA,HA...YOU DIED
 ///          ST"
  40 LET A$(2)="BOOM...AN EXPLOS
ION NEAR YOU  CD"
  50 LET A$(3)="ZAP...A SNIPER,W
ATCH OUT      CD"
  60 LET A$(4)="THUD...YOU GOT H
IM,GOOD GOING VP"
  70 LET A$(5)="SHUFFLE...NOTHIN
G GOING ON    TA"
  80 LET A$(6)="YOU ESCAPED...YO
U WIN         ST"
  90 LET VP=0
 100 GOSUB 500
 110 CLS
 120 PRINT "1)ATTACK...2)MOVE WI
TH CAUTION..3)RUN...4)QUIT...5)S
TAY STILL..."
 130 PRINT ,,,,,,"YOU IN A ROOM.
 IT HAS ";INT (3*RND+1);" DOORS.
"
 140 LET A=INT (5*RND+1)
 150 IF A=1 OR A=4 THEN GOTO 140
 160 LET RT=INT (3*RND+1)
 170 IF RT=1 THEN PRINT "THE ROO
M IS LARGE AND DINGY WITHMANY HO
LES IN THE FLOOR."
 180 IF RT=2 THEN PRINT "THIS AR
EA IS MUDDY AND THERE IS WATER D
RIPING FROM AN OPENING INTHE ROO
F.THE ROOM HAS A BAD ODERTO IT."
 190 IF RT=3 THEN PRINT "THE ARE
A IS REALLY A LONG       HALLWAY
 LEADING TOWARDS A DOOR. IT HAS 
A SLIGHT SLANT AND CAUSESYOU EXT
REME MOVEMENT FORWARD."
 200 PRINT ">";
 210 INPUT H
 220 IF H=1 THEN GOTO 300
 230 IF H=4 THEN GOTO 400
 240 IF H=2 THEN GOTO 450
 250 PRINT A$(A, TO 30)
 260 REM CHECK ACTION
 270 GOSUB 600
 280 LET VP=VP+10
 290 GOTO 110
 300 CLS
 310 LET YA=INT (20*RND+1)
 320 IF YA>12 THEN LET A=4
 330 IF YA<=12 THEN PRINT "MISSE
D...TOO BAD"
 340 IF YA>12 THEN GOTO 250
 350 LET WC=INT (10*RND+1)
 360 IF WC>=9 THEN LET A=6
 370 IF A=6 THEN GOTO 250
 380 PAUSE 4E4
 390 GOTO 110
 400 PRINT "YOU SCORED ";VP;" PO
INTS"
 410 PRINT "TRY AGAIN(Y/N)"
 420 PAUSE 4E4
 430 IF INKEY$<>"N" THEN RUN
 440 STOP
 450 LET A=5
 460 GOTO 250
 470 REM ****UP/SPECIAL ACTIONS*
 480 REM ***********************
 490 REM ****BELOW/INSTRUCTIONS*
 500 CLS
 510 PRINT "YOU ARE TRYING TO ES
CAPE AN EVILWIZARDS DUNGEON.CAN 
YOU DO IT ? GOOD LUCK***"
 520 PRINT ,,,,"PRESS A KEY TO B
EGIN"
 530 IF INKEY$="" THEN GOTO 530
 540 REM ***START GAME**********
 550 RETURN
 560 REM ***********************
 570 REM ***********************
 580 REM ***********************
 590 REM ******CHECK ACTIONS****
 600 IF A$(A,31 TO )="ST" THEN
GOTO 400
 610 IF A$(A,31 TO )="TA" THEN
PRINT "TRY AGAIN"
 620 IF A$(A,31 TO )="CD" AND
RND>=.8 THEN GOTO 680
 630 IF A$(A,31 TO )="VP" THEN
LET VP=VP+100
 640 PAUSE 4E4
 650 CLS
 660 GOSUB 710
 670 RETURN
 680 CLS
 690 PRINT A$(1, TO 30)
 700 GOTO 400
 710 LET WC=INT (10*RND+1)
 720 IF WC>=9 THEN LET A=6
 730 IF A=6 THEN GOTO 250
 740 RETURN
 800 SAVE "VENTURE"
 810 RUN