10 REM MINELAY
20 REM BY PAUL STANLEY
25 REM PAN BOOKS 1984
30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,6:PAPER 0:PEN 1:CLS
40 GOSUB 670
50 hs=0
60 GOTO 410
70 FOR XX=-3 TO 3:SOUND 2,31+(XX*10),3:NEXT
80 LI=3
90 LOCATE 10,1:PEN 5:PRINT CHR$(232);CHR$(232);:PEN 7:PRINT"HI";HS:PEN 1
100 LOCATE X1+1,Y1+1:PRINT" ";:LOCATE X+1,Y+1:PRINT A$:Y1=Y:X1=X
110 X=X-(INKEY(1)=0)+(INKEY(8)=0):Y=Y-(INKEY(2)=0)+(INKEY(0)=0)
120 X=X-(X<1):X=X+(X>18):Y=Y-(Y<1):Y=Y+(Y>20)
130 LOCATE X+1,Y+1:CALL 360: KY=PEEK(367):IF KY = 32 THEN 190
140 IF KY=231 THEN IF A$=CHR$(233) THEN 270
150 IF KY=231 THEN Y=Y1:X=X1
160 IF KY=235 THEN SOUND 1,120,3:SOUND 1,30,3:SC=SC+10:LOCATE 6,1:PRINT SC;:IF SC/500=SCē 500 THEN LOCATE 9+LI,1:PEN 8:PRINT CHR$(232);:PEN 1:FOR G = 1 TO 5:SOUND 1,10*G,3:NEXT:LI=LI+1
170 IF KY=236 THEN 330
180 IF KY=237 THEN SOUND 1,30,3:A$=CHR$(233)
190 LOCATE MX+1,MY+1:PRINT" ";:IF RND>(SK+0.1) THEN PEN 6: LOCATE MX1+1,MY1+1:PRINT CHR$(236);:PEN 1
200 MY1=MY:MX1=MX
210 MY=MY-0.5*(MY<Y)+0.5*(MY>Y):MX=MX-0.5*(MX<X)+0.5*(MX>X)
220 LOCATE MX+1,MY+1:CALL 360:KZ=PEEK(367):IF KZ=232 THEN 330
230 LOCATE MX+1,MY+1:PEN 3:PRINT CHR$(234);:PEN 1
240 IF RND<0.2 THEN PEN 2: LOCATE INT(RND*17+3),INT(RND*18+3):PRINT CHR$(235);:IF RND>0.9 THEN PEN 4:LOCATE INT(RND*17+3),INT(RND*18+3):PRINT CHR$(237);
250 PEN 1
260 GOTO 100
270 IF Y=1 OR Y=21 OR X=1 OR X=18 THEN 150
280 FOR VV=50 TO 0:STEP -5 :SOUND 1,10+5*VV,4:NEXT
290 A$=CHR$(232)
300 GOTO 160
310 LOCATE LI+9,1:PRINT" ";:LOCATE X+1,Y+1:PRINT" ":Y=2:X=1
320 MY=INT(RND*11)+10:MX=INT(RND*11)+8:GOTO 100
330 LOCATE MX+1,MY+1:PRINT" ":MY=INT (RND*11)+10:MX=INT(RND*11)+8:MY1=MY:MX1=MX:IF A$=CHR$(233) THEN A$=CHR$(232):FOR F=0 TO 40 STEP 5:SOUND 1,20+F,1:NEXT:GOTO 190
340 LOCATE X1+1,Y1+1:PRINT" ":LOCATE X+1,Y+1:PEN 5:PRINT CHR$(232);:PEN 1:FOR F=1 TO 9:SOUND 1,(200+F*10),3:NEXT
350 LI=LI-1:IF LI<>0 THEN 310
360 FOR G=1 TO 100:NEXT
370 CLS:LOCATE 1,5:PEN 5:PRINT CHR$(24);" G A M E    O V E R ";CHR$(24);:PEN 1
380 LOCATE 4,8:PEN 4:PRINT "You scored ";SC;
390 IF SC>HS THEN HS=SC:PRINT:PRINT:PEN 2:PRINT CHR$(24);" W E L L   D O N E  ";CHR$(24):PEN 6:PRINT CHR$(24);" A new high score !!";CHR$(24);:PEN 1:GOTO 410
400 PRINT:PEN 6:PRINT:PRINT CHR$(24);" High score is";HS;CHR$(24);
410 LOCATE 1,20:PEN 3:PRINT"PRESS [1] HARD GAME PRESS [2] EASY GAME":PEN 1
420 X$=INKEY$:IF X$<>"" THEN 420
430 X$=INKEY$:IF X$<>"1" AND X$<>"2" THEN 430
440 IF X$="1" THEN  SK=0.7:B=8  ELSE SK= 0.85 :B=4
450 CLS
460  MODE 0:BORDER 0:INK 0,0:INK 1,16:INK 2,24:INK 3,20:INK 4,18:INK 5,8:INK 6,6:INK 7,21:INK 8,0,24:PAPER 0:PEN 1
470 PEN 1: FOR F=1 TO 21:LOCATE 1,F+1:PRINT CHR$(231);:LOCATE 20,F+1:PRINT CHR$(231);:NEXT F
480 FOR F=1 TO 18:LOCATE F+1,2:PRINT CHR$(231);:LOCATE F+1,22:PRINT CHR$(231);:NEXT
490 FOR G=1 TO B:S=INT(RND*9)+1:F=INT(S+(RND*7)):X=2*INT (RND*4)+1:IF F>17 THEN F=17
500 FOR Y=S TO F:LOCATE Y+1,X+1:PRINT CHR$(231);
510 NEXT Y
520 S=INT(RND*17)+2:F=INT(S+(RND*10)):X=INT(RND*8.75)*2+2:IF F>20 THEN F=20
530 FOR Y=S TO F:LOCATE X+1,Y+1:PRINT CHR$(231);:NEXT Y:NEXT G
540 PEN 2:FOR F=1 TO 12
550 Y=INT(RND*18)+2:X=INT(RND*17.5)+1
560 LOCATE X+1,Y+1:CALL 360: KY=PEEK(367):IF KY <> 32 THEN 550
570 LOCATE X+1,Y+1:PRINT CHR$(235);:NEXT F
580 PEN 6: FOR F=1 TO 6
590 Y=(RND*18)+2:X=(RND*11.25)+2
600 LOCATE X+1,Y+1:CALL 360: KY=PEEK(367):IF KY <> 32 THEN 590
610 LOCATE X+1,Y+1:PRINT CHR$(236);:NEXT F
620 PEN 4: FOR F=1 TO 3:LOCATE INT(RND*11.25)+2,INT(RND*18)+3:PRINT CHR$(237);:NEXT F:PEN 1
630 Y=2:X=1:Y1=Y:X1=X:A$=CHR$(232)
640 MY=INT(RND*11)+10:MX=INT((RND*11.25)+7.5):MY1=MY:MX1=MX
650 SC=0:LOCATE 1,1:PEN 7:PRINT "Score ";SC;:PEN 1
660 GOTO 70
670 SYMBOL AFTER 230
680 SYMBOL 231,24,66,153,153,66,36,24
690 SYMBOL 232,28,28,73,62,8,28,20,54
700 SYMBOL 233,220,220,73,126,72,92,20,54
710 SYMBOL 234,195,36,24,36,126,90,129,0
720 SYMBOL 235,0,0,0,12,62,126,62,12
730 SYMBOL 236,0,0,8,73,42,28,62,127
740 SYMBOL 237,4,14,6,12,24,48,96,0
750 FOR X= 360 TO 366: READ A:POKE X,A:NEXT
760 DATA 205,96,187,50,111,1,201
770 LOCATE 13,1:PRINT CHR$(24)" M I N E L A Y":PRINT CHR$(24)
780 LOCATE 1,5:PRINT"Move about the maze picking up golden   eggs, avoiding the mines and also the   minelayer."
790 LOCATE 1,9:PRINT"If you pick up an axe you can destroy   the maze walls,mines,and the mine-layer."
800 LOCATE 1,12:PRINT"You begin with three lives,but an extra life is given for every 500 points."
810 PRINT:PRINT
820 PEN 3:PRINT:PRINT"USE THE CURSOR ARROWS TO MOVE ABOUT...":PEN 1
830 LOCATE 10,24:PEN 2:PRINT"PRESS ANY KEY TO START":PEN 1
840 IF INKEY$<>"" THEN 840
850 IF INKEY$=""THEN 850 ELSE CLS
860 RETURN