Appears on
Assembled by Tim Ward from many sources. Contains programs 10252 – 10293.
Source Code
1 LET S=0 2 LET HS=0 3 LET T=180 4 DIM B$(21,21) 5 LET COUNT=30 6 LET LIVES=3 7 GOSUB 7000 8 LET CHECK=1 9 LET E=0 10 LET R=1 11 LET B$(1)="% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % " 20 LET B$(2)="% .........% .........% " 30 LET B$(3)="% .% % % .% % % .% .% % % .% % % .% " 40 LET B$(4)="% *% % % .% % % .% .% % % .% % % *% " 50 LET B$(5)="% .% % % .% % % .% .% % % .% % % .% " 60 LET B$(6)="% ...................% " 70 LET B$(7)="% .% % % .% .% % % % % .% .% % % .% " 80 LET B$(8)="% .....% ...% ...% .....% " 90 LET B$(9)="% % % % % .% .......% .% % % % % " 100 LET B$(10)="% % % % % .% .......% .% % % % % " 110 LET B$(11)="% % % % % .% .% ---% .% .% % % % % " 120 LET B$(12)="-.......% % .......-" 130 LET B$(13)="% % % % % .% .% ---% .% .% % % % % " 140 LET B$(14)="% % % % % .% .... ..% .% % % % % " 150 LET B$(15)="% % % % % .% .% % % % % .% .% % % % % " 160 LET B$(16)="% .........% .........% " 170 LET B$(17)="% *% % % .% % % .% .% % % .% % % *% " 180 LET B$(18)="% ...% ...........% ...% " 190 LET B$(19)="% % % .% .% % % % % % % % % .% .% % % " 200 LET B$(20)="% % % ...............% % % " 210 LET B$(21)="% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % " 220 FOR N=1 TO 21 230 PRINT AT N,1;B$(N) 240 NEXT N 250 LET Y=14 255 LET E$=" " 260 LET X=12 265 LET D$=" " 270 LET A$=">" 275 LET C=1 280 LET GX=12 285 LET GY=12 290 LET GX1=12 295 LET GY1=11 300 PRINT AT GX,GY;"%"" 310 PRINT AT GX1,GY1;"%"" 320 PRINT AT Y,X;A$ 325 PRINT AT 0,0;"LIVES:";LIVES;AT 0,19;"HI-SCORE:";HS 330 IF INT (RND*50)=0 THEN GOSUB 1000 335 PRINT AT Y,X;" " 340 IF INKEY$="8" OR (B$(Y,X+1)="-" AND R=1) THEN GOTO 1500 350 IF INKEY$="5" OR (B$(Y,X-1)="-" AND R=-1) THEN GOTO 1600 355 IF INKEY$<>"5" AND INKEY$<>"6" AND INKEY$<>"7" AND INKEY$<>"8" AND INKEY$<>"" THEN GOTO 4000 360 IF INKEY$="7" THEN GOSUB 1700 365 IF INKEY$="6" THEN GOSUB 1800 370 IF B$(Y,X+R)<>"-" AND B$(Y,X+R)<>"% " THEN LET X=X+R 371 IF B$(Y+E,X)<>"% " THEN LET Y=Y+E 375 IF B$(Y,X)="*" THEN GOSUB 2000 380 IF B$(Y,X)="." THEN LET S=S+1 390 IF B$(Y,X)="£" THEN LET S=S+10 395 IF B$(Y,X)="£" THEN LET T=T+10 400 LET B$(Y,X)=" " 405 PRINT AT 0,8;"SCORE:";S 410 PRINT AT Y,X;A$ 415 IF S=T THEN GOTO 5000 420 PRINT AT GX,GY;D$;AT GX1,GY1;E$ 425 IF RND<A THEN GOTO 436 430 IF GY<X AND B$(GX,GY+C)<>"% " AND B$(GX,GY+C)<>"% " THEN GOTO 3000 436 IF RND<A THEN GOTO 450 440 IF GY>X AND B$(GX,GY-C)<>"% " AND B$(GX,GY-C)<>"-" THEN GOTO 3020 446 IF RND<A THEN GOTO 456 450 IF GX<Y AND B$(GX+C,GY)<>"% " THEN GOTO 3040 456 IF RND<A THEN GOTO 470 460 IF GX>Y AND B$(GX-C,GY)<>"% " THEN LET GX=GX-C 465 IF RND<A THEN GOTO 474 470 IF GY1<X AND B$(GX1,GY1+C)<>"% " AND B$(GX1,GY1+C)<>"-" THEN GOTO 3060 474 IF RND<A THEN GOTO 478 475 IF GY1>X AND B$(GX1,GY1-C)<>"% " AND B$(GX1,GY1-C)<>"-" THEN GOTO 3080 478 IF RND<A THEN GOTO 486 480 IF GX1<Y AND B$(GX1+C,GY1)<>"% " THEN GOTO 3100 486 IF RND<A THEN GOTO 500 490 IF GX1>Y AND B$(GX1-C,GY1)<>"% " THEN LET GX1=GX1-C 500 LET COUNT=COUNT+1 510 IF COUNT>=30 THEN LET C=1 520 IF C=-1 THEN PRINT AT GX,GY;"""" 525 IF C=1 THEN PRINT AT GX,GY;"%"" 530 IF C=-1 THEN PRINT AT GX1,GY1;"""" 535 IF C=1 THEN PRINT AT GX1,GY1;"%"" 540 IF GX=Y AND GY=X THEN GOTO 9000 550 IF GX1=Y AND GY1=X THEN GOTO 9000 560 LET D$=B$(GX,GY) 570 LET E$=B$(GX1,GY1) 580 LET CHECK=1 600 GOTO 330 1000 IF B$(14,11)="£" THEN RETURN 1010 PRINT AT 14,11;"£" 1020 IF B$(14,11)="." THEN LET T=T-1 1030 LET B$(14,11)="£" 1040 RETURN 1500 PRINT AT Y,X;" " 1510 LET A$=">" 1520 IF B$(Y,X+1)="-" THEN LET CHECK=0 1530 IF CHECK=0 THEN LET X=2 1535 IF CHECK=0 THEN GOTO 375 1540 IF B$(Y,X+1)<>"% " THEN LET R=1 1545 IF B$(Y,X+1)<>"% " THEN LET E=0 1550 GOTO 370 1600 PRINT AT Y,X;" " 1610 LET A$="<" 1620 IF B$(Y,X-1)="-" THEN LET CHECK=0 1630 IF CHECK=0 THEN LET X=20 1635 IF CHECK=0 THEN GOTO 375 1640 IF B$(Y,X-1)<>"% " THEN LET R=-1 1645 IF B$(Y,X-1)<>"% " THEN LET E=0 1650 GOTO 370 1700 PRINT AT Y,X;" " 1710 IF B$(Y-1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET E=-1 1715 IF B$(Y-1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET R=0 1720 LET A$="A" 1730 RETURN 1800 PRINT AT Y,X;" " 1810 IF B$(Y+1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET E=1 1815 IF B$(Y+1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET R=0 1820 LET A$="V" 1830 RETURN 2000 LET S=S+10 2010 LET C=-1 2020 LET B$(Y,X)=" " 2030 PRINT AT Y,X;A$ 2040 LET T=T+10 2050 LET COUNT=0 2060 RETURN 3000 LET GY=GY+C 3010 GOTO 470 3020 LET GY=GY-C 3030 GOTO 470 3040 LET GX=GX+C 3050 GOTO 470 3060 LET GY=GY1+C 3070 GOTO 500 3080 LET GY1=GY1-C 3090 GOTO 500 3100 LET GX1=GX1+C 3110 GOTO 500 4000 LET R=0 4010 LET E=0 4020 GOTO 360 5000 CLS 5005 PRINT AT 10,31;"*" 5010 FOR N=1 TO 27 5020 PRINT AT 10,N;" %" >" 5025 REM SHEET CLEARED 5030 NEXT N 5040 FOR N=27 TO 1 STEP -1 5050 PRINT AT 10,N;""" < " 5060 NEXT N 5070 LET T=T+180 5080 GOTO 8 7000 PRINT AT 0,12;"MUNCHER II";TAB 11;"\''\''\''\''\''\''\''\''\''\''" 7010 PRINT AT 9,0;"--------------------------------" 7020 PRINT AT 11,3;"SELECT SKILL LEVEL (1-5)" 7030 PRINT TAB 7;"(5 IS THE EASIEST)" 7040 PRINT AT 14,0;"--------------------------------" 7050 PRINT TAB 5;" JAMES S. BROADDUS 1983" 7060 LET A=CODE INKEY$-28 7070 IF A>5 OR A<1 THEN GOTO 7060 7080 LET A=A/10 7090 LET A=A+.1 7100 CLS 7110 RETURN 8000 IF GY<>X OR GX<>Y THEN GOTO 8060 8010 LET S=S+10 8020 LET T=T+10 8030 LET GY=12 8040 LET GX=12 8045 PRINT AT Y,X;A$ 8050 GOTO 500 8060 IF GY>=X OR GX1<>Y THEN GOTO 500 8070 LET S=S+10 8080 LET T=T+10 8090 LET GY1=11 8100 LET GX1=12 8105 PRINT AT Y,X;A$ 8110 GOTO 500 9000 IF COUNT<=30 THEN GOTO 8000 9005 LET LIVES=LIVES-1 9010 FOR N=1 TO 10 9015 PRINT AT Y,X;A$ 9016 FOR Q=1 TO 2 9017 NEXT Q 9018 PRINT AT Y,X;CHR$ (CODE A$+128) 9019 NEXT N 9020 IF LIVES<=0 THEN GOTO 9500 9025 CLS 9030 GOTO 210 9500 IF HS<S THEN LET HS=S 9510 PRINT AT 10,0;"HIT ANY KEY TO RESTART" 9520 IF INKEY$="" THEN GOTO 9520 9530 LET S=0 9540 CLS 9550 LET T=180 9560 LET LIVES=3 9570 GOTO 8 9580 CLEAR 9590 SAVE "1025%2" 9600 RUN