home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib16.dsk / MUNCHIES.bas < prev    next >
BASIC Source File  |  2023-02-26  |  5KB  |  145 lines

  1. 10  REM  **********************
  2. 11  REM  *      MUNCHIES      *
  3. 12  REM  *   BY PAUL RAYMER   *
  4. 13  REM  * COPYRIGHT (C) 1983 *
  5. 14  REM  * BY MICROSPARC, INC *
  6. 15  REM  * LINCOLN, MA. 01773 *
  7. 16  REM  **********************
  8. 100  TEXT : HOME : CLEAR : REM 3K
  9. 220  REM 
  10. 230  REM  INITIALIZE
  11. 240  REM 
  12. 250 M$ = "MUNCHIE "
  13. 260 Q$ =  CHR$(7)
  14. 270 S$ =  CHR$(32): VTAB 22: PRINT "** COPYRIGHT 1983 BY MICROSPARC, INC **": VTAB 1
  15. 280  FOR X = 1 TO 4:B$ = B$ + CHR$(8): NEXT X
  16. 290  PRINT "NEED INSTRUCTIONS (Y/N)  ";B$;: GET AN$
  17. 300  IF AN$ = "Y"  THEN  GOSUB 1450
  18. 310  FOR X = 1 TO 38:D$ = D$ + CHR$(45): NEXT X
  19. 320 H = 1
  20. 330  HOME 
  21. 340  REM 
  22. 350  REM  SET UP TRACK
  23. 360  REM 
  24. 370  VTAB 12: HTAB 16: INVERSE : PRINT "MUNCHIES ";H: NORMAL 
  25. 380  FOR Y = 1 TO 8
  26. 390  VTAB Y: HTAB 1: PRINT D$
  27. 400 R =  INT(8 * RND(1)) +1
  28. 410  VTAB Y: HTAB 1: PRINT Y;
  29. 420  VTAB Y: HTAB 39: PRINT R
  30. 430  NEXT Y
  31. 440  VTAB 10: HTAB 5: PRINT "== PRESS (9) FOR TARGET SCORE == "
  32. 450  REM 
  33. 460  REM  RANDOMIZE POINTS
  34. 470  REM 
  35. 480  FOR B = 1 TO 8
  36. 490  FOR RR = 1 TO 8
  37. 500 R =  INT(8 * RND(1)) +1
  38. 510  REM 
  39. 520  REM  ZERO CATCHER
  40. 530  REM 
  41. 540  IF  PEEK(934 +(RR *128)) = 176  THEN 570
  42. 550  GOSUB 1370
  43. 560  VTAB RR: HTAB 39: PRINT R
  44. 570  NEXT RR
  45. 580  REM 
  46. 590  REM  SELECTOR
  47. 600  REM 
  48. 610  FOR X = 10 TO 22: VTAB X -1: HTAB 39: PRINT S$;: VTAB X: HTAB 39: PRINT "C";: FOR Z = 1 TO 20: NEXT Z: NEXT X
  49. 620  IF K < >0  THEN M$ = "C "
  50. 630  SPEED= 176: FOR I = 38 TO 1  STEP  -1: VTAB 22: HTAB 1: PRINT M$: NEXT I:K = 1
  51. 640  VTAB 22: HTAB 1: PRINT "WHICH LINE? ";: GET A$:A =  VAL(A$): SPEED= 255
  52. 650  IF A = 0  THEN 940
  53. 660  IF A = 9  THEN 990
  54. 670  INVERSE : VTAB A: HTAB 1: PRINT A;: NORMAL 
  55. 680  FOR X = 2 TO 36
  56. 690  VTAB A: HTAB X: PRINT S$;L$;: FOR Z = 1 TO 50: NEXT Z
  57. 700  REM 
  58. 710  REM  MUNCHIE MAKER
  59. 720  REM 
  60. 730  IF  INT(X/2) = X/2  THEN L$ = " =": GOTO 750
  61. 740 L$ = " C"
  62. 750  GOSUB 1130
  63. 760  NEXT X
  64. 770  POKE  -16368,0
  65. 780 P =  PEEK(934 +(A *128)):PP = P -176
  66. 790  IF PP = 0  THEN 1180
  67. 800 TT = TT +PP
  68. 810  IF TT >8  THEN 1220
  69. 820  POKE (934 +(128 *A)),176
  70. 830  POKE (933 +(128 *A)),190: PRINT Q$;
  71. 840  REM 
  72. 850  REM  SCOREBOARD
  73. 860  REM 
  74. 870  PRINT 
  75. 880  VTAB 19: PRINT  TAB( 1)"LAST RUN ";PP; TAB( 15)"TOTAL ";: INVERSE : PRINT TT;: NORMAL : PRINT  TAB( 25)"NEXT TURN NO.";B +1
  76. 890 A = 0
  77. 900  NEXT B
  78. 910  REM 
  79. 920  REM  SUDDEN QUIT
  80. 930  REM 
  81. 940  VTAB 19: HTAB 1: CALL  -958: PRINT "GAME STOPPED WITH TOTAL OF ";TT
  82. 950  GOTO 1260
  83. 960  REM 
  84. 970  REM  WRAP UP
  85. 980  REM 
  86. 990  VTAB 22: HTAB 1: PRINT "SELECT TARGET ";: INVERSE : PRINT " TOTAL ";: NORMAL : PRINT S$;: GET J$:J =  VAL(J$)
  87. 1000  VTAB 22: HTAB 1: PRINT "SELECT ";: INVERSE : PRINT " LINE ";: NORMAL : PRINT " NUMBER ";: GET JJ$:J =  VAL(JJ$)
  88. 1010 VE =  PEEK(934 +(128 *J))
  89. 1020 GT = TT *B *10
  90. 1030  REM 
  91. 1040  REM  CONFIRM WINNER
  92. 1050  REM 
  93. 1060  IF TT = VE -176  THEN  VTAB 19: CALL  -958: HTAB 1: INVERSE : PRINT " WINNER WITH ";GT;" POINTS ": NORMAL : GOTO 1260
  94. 1070  REM 
  95. 1080  REM  LOSER
  96. 1090  REM 
  97. 1100 GT = 0: VTAB 19: HTAB 1: CALL  -958: PRINT "SORRY...TRY AGAIN!"
  98. 1110  GOTO 1260
  99. 1120  REM 
  100. 1130  REM  MUNCHIE NOISE
  101. 1140  REM 
  102. 1150 N =  PEEK( -16336)
  103. 1160  RETURN 
  104. 1170  REM 
  105. 1180  REM  CHEATER CATCH
  106. 1190  REM 
  107. 1200  POKE (935 +(128 *A)),42: VTAB 19: HTAB 1: CALL  -958: PRINT "YOU PICKED A ";: INVERSE : PRINT " ZERO! ";: NORMAL : PRINT " GAME OVER!";Q$;Q$;Q$: GOTO 1260
  108. 1210  REM 
  109. 1220  REM  OVERSHOOT TRAP
  110. 1230  REM 
  111. 1240  IF TT >8  THEN  VTAB 22: HTAB 1: PRINT Q$;Q$;Q$;"YOU ";: FLASH : PRINT " CAN'T ";: NORMAL : PRINT " WIN WITH A SCORE OF ";TT;"!": GOTO 1260
  112. 1250  REM 
  113. 1260  REM  PLAY AGAIN
  114. 1270  REM 
  115. 1280  IF HS <GT  THEN HS = GT
  116. 1290  PRINT "HIGH SCORE THIS SERIES ";HS
  117. 1300  VTAB 23: PRINT "ANOTHER GAME OF MUNCHIES? (Y/N)";B$;: GET AN$
  118. 1310 H = H +1
  119. 1320  IF AN$ < >"N"  THEN TT = 0: GOTO 330
  120. 1330  PRINT : FOR X = 1 TO 1000: PRINT "*";: NEXT X
  121. 1340  FOR X = 1 TO 20: VTAB 20: HTAB 18 +X: PRINT " ";: HTAB 19 +X: PRINT "C";: FOR Z = 1 TO 25: NEXT Z: NEXT X
  122. 1350  FOR Z = 1 TO 1000: NEXT Z: HOME 
  123. 1360  END 
  124. 1370  REM 
  125. 1380  REM  MUNCHIE FOOD
  126. 1390  REM 
  127. 1400  VTAB RR: HTAB 2: PRINT D$;
  128. 1410  PRINT 
  129. 1420  FOR F = 1 TO (4 *R)  STEP 4
  130. 1430  VTAB RR: HTAB F +4: PRINT "*";: GOSUB 1130: NEXT F
  131. 1440  RETURN 
  132. 1450  REM 
  133. 1460  REM  INSTRUCTIONS
  134. 1470  REM 
  135. 1480  HOME : SPEED= 200
  136. 1490  VTAB 2: HTAB 16: INVERSE : PRINT " MUNCHIES ": NORMAL 
  137. 1500  FOR Z = 1 TO 1000: NEXT Z
  138. 1510  VTAB 4: HTAB 1: PRINT "MUNCHIES IS A GAME THAT WILL TAKE A     LIFETIME TO LEARN AND A FEW MINUTES TO  PLAY!": PRINT 
  139. 1520  PRINT "FOLLOW SCREEN INSTRUCTIONS.  SELECT A   NUMBER FOR POINTS (IN THE RIGHT COLUMN)."
  140. 1530  PRINT "THE OBJECT IS TO CONTINUE TO SELECT     NUMBERS WHICH WILL EQUAL THE TOTAL OF   THE HIGHEST POSSIBLE NUMBER ON THE"
  141. 1540  PRINT "RIGHT.  WHEN YOU GO AS HIGH AS YOU      DARE -- PRESS #9..."
  142. 1550  PRINT : PRINT "THIS WILL GIVE YOU INSTRUCTIONS TO GET  TOTAL.  IF YOU HAVE A VALID SCORE, YOUR COMPUTER WILL GIVE YOU THE TOTAL."
  143. 1560  PRINT : PRINT "A RECORD OF HIGH SCORE IS KEPT TO SEE   IF YOU CAN BETTER ANY PREVIOUS SCORES."
  144. 1570  VTAB 24: HTAB 1: PRINT "=== TO CONTINUE PRESS ANY LETTER === ";: GET AN$
  145. 1580  SPEED= 255: RETURN