Muncher II

Developer(s): Jim Broaddus
Date: 198x
Type: Program
Platform(s): TS 1000

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10252 – 10293.

Related Products

Related Articles

Related Content

Image Gallery

Muncher II

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
\n1000 IF B$(14,11)="£" THEN RETURN 
\n1010 PRINT AT 14,11;"£"
\n1020 IF B$(14,11)="." THEN LET T=T-1
\n1030 LET B$(14,11)="£"
\n1040 RETURN 
\n1500 PRINT AT Y,X;" "
\n1510 LET A$=">"
\n1520 IF B$(Y,X+1)="-" THEN LET CHECK=0
\n1530 IF CHECK=0 THEN LET X=2
\n1535 IF CHECK=0 THEN GOTO 375
\n1540 IF B$(Y,X+1)<>"% " THEN LET R=1
\n1545 IF B$(Y,X+1)<>"% " THEN LET E=0
\n1550 GOTO 370
\n1600 PRINT AT Y,X;" "
\n1610 LET A$="<"
\n1620 IF B$(Y,X-1)="-" THEN LET CHECK=0
\n1630 IF CHECK=0 THEN LET X=20
\n1635 IF CHECK=0 THEN GOTO 375
\n1640 IF B$(Y,X-1)<>"% " THEN LET R=-1
\n1645 IF B$(Y,X-1)<>"% " THEN LET E=0
\n1650 GOTO 370
\n1700 PRINT AT Y,X;" "
\n1710 IF B$(Y-1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET E=-1
\n1715 IF B$(Y-1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET R=0
\n1720 LET A$="A"
\n1730 RETURN 
\n1800 PRINT AT Y,X;" "
\n1810 IF B$(Y+1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET E=1
\n1815 IF B$(Y+1,X)<>"% " AND B$(Y-1,X)<>"-" THEN LET R=0
\n1820 LET A$="V"
\n1830 RETURN 
\n2000 LET S=S+10
\n2010 LET C=-1
\n2020 LET B$(Y,X)=" "
\n2030 PRINT AT Y,X;A$
\n2040 LET T=T+10
\n2050 LET COUNT=0
\n2060 RETURN 
\n3000 LET GY=GY+C
\n3010 GOTO 470
\n3020 LET GY=GY-C
\n3030 GOTO 470
\n3040 LET GX=GX+C
\n3050 GOTO 470
\n3060 LET GY=GY1+C
\n3070 GOTO 500
\n3080 LET GY1=GY1-C
\n3090 GOTO 500
\n3100 LET GX1=GX1+C
\n3110 GOTO 500
\n4000 LET R=0
\n4010 LET E=0
\n4020 GOTO 360
\n5000 CLS 
\n5005 PRINT AT 10,31;"*"
\n5010 FOR N=1 TO 27
\n5020 PRINT AT 10,N;" %"  >"
\n5025 REM SHEET CLEARED
\n5030 NEXT N
\n5040 FOR N=27 TO 1 STEP -1
\n5050 PRINT AT 10,N;"""  < "
\n5060 NEXT N
\n5070 LET T=T+180
\n5080 GOTO 8
\n7000 PRINT AT 0,12;"MUNCHER II";TAB 11;"\''\''\''\''\''\''\''\''\''\''"
\n7010 PRINT AT 9,0;"--------------------------------"
\n7020 PRINT AT 11,3;"SELECT SKILL LEVEL (1-5)"
\n7030 PRINT TAB 7;"(5 IS THE EASIEST)"
\n7040 PRINT AT 14,0;"--------------------------------"
\n7050 PRINT TAB 5;"   JAMES S. BROADDUS 1983"
\n7060 LET A=CODE INKEY$-28
\n7070 IF A>5 OR A<1 THEN GOTO 7060
\n7080 LET A=A/10
\n7090 LET A=A+.1
\n7100 CLS 
\n7110 RETURN 
\n8000 IF GY<>X OR GX<>Y THEN GOTO 8060
\n8010 LET S=S+10
\n8020 LET T=T+10
\n8030 LET GY=12
\n8040 LET GX=12
\n8045 PRINT AT Y,X;A$
\n8050 GOTO 500
\n8060 IF GY>=X OR GX1<>Y THEN GOTO 500
\n8070 LET S=S+10
\n8080 LET T=T+10
\n8090 LET GY1=11
\n8100 LET GX1=12
\n8105 PRINT AT Y,X;A$
\n8110 GOTO 500
\n9000 IF COUNT<=30 THEN GOTO 8000
\n9005 LET LIVES=LIVES-1
\n9010 FOR N=1 TO 10
\n9015 PRINT AT Y,X;A$
\n9016 FOR Q=1 TO 2
\n9017 NEXT Q
\n9018 PRINT AT Y,X;CHR$ (CODE A$+128)
\n9019 NEXT N
\n9020 IF LIVES<=0 THEN GOTO 9500
\n9025 CLS 
\n9030 GOTO 210
\n9500 IF HS<S THEN LET HS=S
\n9510 PRINT AT 10,0;"HIT ANY KEY TO RESTART"
\n9520 IF INKEY$="" THEN GOTO 9520
\n9530 LET S=0
\n9540 CLS 
\n9550 LET T=180
\n9560 LET LIVES=3
\n9570 GOTO 8
\n9580 CLEAR 
\n9590 SAVE "1025%2"
\n9600 RUN 
Scroll to Top