ZX81 Programs


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

ZX81 Program Listing

**SNUNCH**SLR/1983** (snunch.p)


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 19864
VARS  : 20657
E-LINE: 20767
STKBOT: 20777
STKEND: 20777


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **SNUNCH**SLR/1983**
  20 LET B=0
  30 LET S=0
  40 LET X=4
  50 LET Y=9
  60 FOR A=0 TO 9
  70 PRINT AT A,1;"¸";AT A,19;"¸
";AT 0,A+1;"¸¸¸¸¸¸¸¸¸";AT 9,A+1;
"¸¸¸¸¸¸¸¸¸"
  80 NEXT A
  90 FOR A=4 TO 7
 100 PRINT AT 3,A;"¸";AT 6,A;"¸"
;AT 3,A+9;"¸";AT 6,A+9;"¸";AT A-
4,10;"¸";AT A+2,10;"¸"
 110 NEXT A
 120 DIM A$(2,4)
 130 LET A$(1)="±²÷÷"
 140 LET A$(2)="±²´´"
 150 LET B$="ö¶´÷"
 160 LET O=1
 170 PRINT AT 1,2;"·ô";AT 2,2;"ò
ñ";AT 1,17;"·ô";AT 2,17;"òñ";AT
7,2;"·ô";AT 8,2;"òñ";AT 7,17;"·ô
";AT 8,17;"òñ"
 180 LET X1=X
 190 LET Y1=Y
 200 LET N=-1
 210 LET M=2
 220 LET Q=0
 230 FOR A=1 TO 200-(10*(((S
AND S<1600)+(1600 AND S>1600))/
100))
 240 LET O=-O
 250 IF O=1 THEN PRINT AT 1,2;"·
ô" AND Q<1;AT 2,2;"òñ" AND Q<1;
AT 1,17;"·ô" AND Q<2;AT 2,17;"òñ
" AND Q<2;AT 7,2;"·ô" AND Q<3;
AT 8,2;"òñ" AND Q<3;AT 7,17;"·ô"
AND Q<4;AT 8,17;"òñ" AND Q<4
 260 IF O=-1 THEN PRINT AT 1,2;"
ñò";AT 2,2;"ô·";AT 1,17;"ñò";AT
2,17;"ô·";AT 7,2;"ñò";AT 8,2;"ô·
";AT 7,17;"ñò";AT 8,17;"ô·"
 270 LET H=(O=1)+(2 AND O=-1)
 280 PRINT AT X1,Y1;"  " AND (X1
<>X OR Y1<>Y);AT X1+1,Y1;"  "
AND (X1<>X OR Y1<>Y);AT X,Y;B$(
TO 2);AT X+1,Y;B$(3 TO );AT 4,M
;"  ";AT 5,M;"  "
 290 IF M=2 OR M=17 THEN LET N=-
N
 300 LET M=M+N
 310 PRINT AT 4,M;A$(H, TO 2);
AT 5,M;A$(H,3 TO )
 315 FAST
 320 LET X1=X
 330 LET Y1=Y
 340 LET X=X-(INKEY$="A" AND (X>
1 AND (Y=2 OR Y=8 OR Y=11 OR Y=1
7)))+(INKEY$="Z" AND (X<7 AND (Y
=2 OR Y=8 OR Y=11 OR Y=17)))
 350 LET Y=Y-(INKEY$="N" AND ((Y
>2 AND X=4) OR ((X=1 OR X=7)
AND ((Y>2 AND Y<9) OR Y>11))))+
(INKEY$="M" AND ((Y<17 AND X=4)
OR ((X=1 OR X=7) AND (Y<8 OR (Y
>10 AND Y<17)))))
 360 IF O=1 THEN LET Q=Q+(X=1
AND Y=2 AND Q<1)+(X=1 AND Y=17
AND Q<2)+(X=7 AND Y=2 AND Q<3)+
(X=7 AND Y=17 AND Q<4)
 370 IF O=-1 AND ((X=2 AND Y=2)
OR (X=1 AND Y=3) OR (X=2 AND Y=
17) OR (X=1 AND Y=16) OR (X=6
AND Y=2) OR (X=7 AND Y=3) OR (X
=6 AND Y=2) OR (X=7 AND Y=3) OR
(X=6 AND Y=17) OR (X=7 AND Y=16)
) THEN GOTO 500
 380 IF X=4 AND (Y=M OR Y=M+1
OR Y+1=M OR Y+1=M+1) THEN GOTO
620
 390 LET S=S+1
 400 SLOW
 410 NEXT A
 420 IF Q<4 THEN GOTO 600
 430 PRINT AT 11,0;"YOU COMPLETE
D A SNUNCH SCREEN,  KEEP IT UP. 
  SCORE:";
 440 LET S=S+40
 450 PRINT S
 460 PRINT ,,"PRESS ENTER TO CON
TINUE..."
 470 PAUSE 4E4
 480 CLS
 490 GOTO 40
 500 PRINT AT 14,0;"EXPLODING PI
LL GOT YOU, TOO BAD*"
 510 PRINT AT 11,0;"**SNUNCH**";
AT 12,0;"úúúúúúúúúúBY STEVEN REI
D";AT X1,Y1;"  ";AT X1+1,Y1;"  "
;AT 4,M;A$(H, TO 2);AT 5,M;A$(H,
3 TO );AT X,Y;"´ó";AT X+1,Y;"ñ²"
;AT 0,1;"GAME OVER"
 515 SLOW
 520 LET S=S+(Q*10)
 530 IF S>B THEN LET B=S
 540 PRINT AT 16,0;"SCORE:";S;
AT 18,0;"BEST:";B;"  **A NEW REC
ORD**" AND S=B
 550 PRINT AT 21,0;"PRESS ENTER 
TO BEGIN A NEW GAME "
 560 IF INKEY$<>"" THEN CLS
 570 IF INKEY$<>"" THEN GOTO 30
 580 PRINT AT 21,0;"PRESS ENTER 
TO BEGIN A NEW GAME "
 590 GOTO 550
 600 PRINT AT 14,0;"NOT ENOUGH P
ILLS, GOOD TRY*"
 610 GOTO 500
 620 PRINT AT 14,0;"GHOST GOT YO
U,   TRY AGAIN**"
 630 GOTO 510