10 REM ZOMBIE ISLAND 
20 GOSUB 520
30 N=10:PIT=10
40 Z=N
50 MODE 1:BORDER 3
60 PAPER 3:PEN 0:LOCATE 1,1:PRINT "             ZOMBIE ISLAND              ";
70 X=21:Y=19:LOCATE X,Y:PAPER 0:PEN 1:PRINT CHR$(249);
80 DIM A(N),B(N):FOR L=1 TO N
90 A(L)=INT(RND(1)*40+1):B(L)=INT(RND(1)*23+2)
100 XX=A(L):YY=B(L):GOSUB 660:IF DD<>32 THEN GOTO 90
110 LOCATE XX,YY:PEN 2:PRINT CHR$(225);
120 NEXT L
130 FOR L=1 TO PIT
140 XX=INT(RND(1)*40+1):YY=INT(RND(1)*23+2)
150 GOSUB 660:IF DD<>32 THEN GOTO 140
160 LOCATE XX,YY:PEN 3:PRINT CHR$(231);
170 NEXT L
180 C=0:D=0
190 C=C+1:IF C>N THEN C=1
200 IF A(C)=-1 THEN GOTO 190
210 S=SGN(X-A(C)):T=SGN(Y-B(C))
220 XX=A(C)+S:YY=B(C)+T:GOSUB 660
230 IF DD=231 THEN GOSUB 400:LOCATE A(C),B(C):PAPER 0:PRINT" ";:A(C)=-1:LOCATE XX,YY:PRINT " ";:GOTO 270
240 IF DD=249 THEN GOTO 420
250 LOCATE A(C),B(C):PEN 2:PRINT" ";:A(C)=XX:B(C)=YY:LOCATE XX,YY:PRINT CHR$(225);
260 SOUND 0,300,10
270 IF INKEY(0)=0 THEN D=0
280 IF INKEY(2)=0 THEN D=2
290 IF INKEY(1)=0 THEN D=1
300 IF INKEY(8)=0 THEN D=8
310 S=X:T=Y:IF D=8 AND S>1 THEN S=S-1
320 IF D=1 AND S<40 THEN S=S+1
330 IF D=2 AND T<24 THEN T=T+1
340 IF D=0 AND T>2 THEN T=T-1 
350 XX=S:YY=T:GOSUB 660:IF DD=231 THEN GOTO 420
360 IF DD=225 THEN GOTO 420
370 LOCATE X,Y:PEN 1:PRINT" ";:LOCATE S,T:PRINT CHR$(249);
380 X=S:Y=T
390 GOTO 190 
400 Z=Z-1:IF Z=0 THEN GOTO 490
410 FOR L=1 TO 50:SOUND 1,L*10,1:NEXT L:RETURN
420 FOR L=1 TO 50:SOUND 1,RND(1)*2000+100,2:BORDER INT(RND(1)*24)
430 NEXT L
440 LOCATE 1,8:PAPER 3:BORDER 3:PEN 0:PRINT "         CAUGHT BY THE ROBOTS           "
450 LOCATE 1,25:PAPER 0:PEN 2:PRINT "     PRESS <SPACE> TO PLAY AGAIN       "
460 IF INKEY$=" " THEN GOTO 460
470 IF INKEY$<>" " THEN GOTO 470
480 RUN
490 REM PLAYER WIN ROUTINE
500 LOCATE 1,8:PAPER 3:BORDER 3:PEN 0:PRINT "     YOU HAVE SURVIVED THE ISLAND       "
510 GOTO 460
520 REM PUT MACHINE CODE JUST ABOVE RE-ADJUSTED HIMEM
530 MEMORY FRE(0)-&80
540 MC=HIMEM+1
550 TA=HIMEM+&7F
560 TH=INT(TA/256)
570 TL=TA-256*TH
580 POKE MC,&CD
590 POKE MC+1,&60
600 POKE MC+2,&BB
610 POKE MC+3,&32
620 POKE MC+4,TL
630 POKE MC+5,TH
640 POKE MC+6,&C9
650 RETURN
660 LOCATE XX,YY
670 CALL MC
680 DD=PEEK(TA)
690 RETURN