home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / games / foodat.zip / FOO.BAS next >
BASIC Source File  |  1991-08-17  |  6KB  |  233 lines

  1. DECLARE SUB GREETSCRN ()
  2. DECLARE SUB BGRID (LC%, RC%, TR%, BR%)
  3. DECLARE SUB BFRAME (leftCol%, rightCol%, topRow%, bottomRow%)
  4. DECLARE SUB BCLRBOX (LC%, RC%, TR%, BR%)
  5. DECLARE SUB QPAUSE18 (BYVAL Count AS INTEGER)
  6.  
  7. DIM SHARED info$(9)
  8. DIM cred$(12)
  9.  
  10. FOR n = 1 TO 9
  11.     READ info$(n)
  12. NEXT n
  13.  
  14. FOR n = 1 TO 12
  15.     READ cred$(n)
  16. NEXT n
  17.  
  18. false% = 0: true% = NOT false%
  19.  
  20. COLOR 15, 1
  21. CLS
  22. GREETSCRN
  23. ChgNoiz$ = "o3MSL11T150CEGo4Co3N0L8Go4L1CMB"
  24. Title$ = "YOUR OFFICIAL FOO Counter..."
  25. Bottom$ = "...is now counting Foo's."
  26. Dig$ = "...WAS counting Foo's.   "
  27. Quit$ = "[ESC] to Quit"
  28. Thanks$ = "  FOO COUNTING: Essential to Humankind's Well Being!  "
  29. PLAY "X" + VARPTR$(ChgNoiz$)
  30. LOCATE 2, 40 - LEN(Title$) \ 2
  31. PRINT LEFT$(Title$, 14);
  32. COLOR 27, 1
  33. PRINT "F" + CHR$(1) + CHR$(1);
  34. COLOR 15, 1
  35. PRINT " COUNTER..."
  36. LOCATE 21, 40 - LEN(Bottom$) \ 2
  37. PRINT Bottom$
  38. LOCATE 23, 40 - LEN(Quit$) \ 2
  39. COLOR 7, 1
  40. PRINT Quit$
  41. COLOR 15, 1
  42. BFRAME 25, 55, 4, 18
  43. LOCATE 18, 37
  44. PRINT "╡";
  45. COLOR 14, 4
  46. PRINT "      ";
  47. COLOR 15, 1
  48. PRINT "╞"
  49. COLOR 7, 0
  50. BCLRBOX 25, 56, 5, 17
  51. BGRID 25, 56, 5, 17
  52. RANDOMIZE TIMER
  53. NrFoos% = 0
  54. start! = TIMER
  55. DO
  56.     row% = INT((12) * RND + 5)
  57.     col% = INT((21) * RND + 31)
  58.     kolor% = INT((7) * RND + 9)
  59.     prt = RND
  60.     IF prt > .97 THEN
  61.         LOCATE row%, col%
  62.         ORow% = CSRLIN: OCol% = POS(0)
  63.         COLOR kolor%, 0
  64.         FooNoiz$ = "N84L64T255MSMF"
  65.         PLAY "X" + VARPTR$(FooNoiz$)
  66.         PRINT CHR$(1)
  67.         NrFoos% = NrFoos% + 1
  68.         QPAUSE18 7
  69.         LOCATE ORow%, OCol%
  70.         PRINT " "
  71.         BGRID 25, 56, 5, 17
  72.         prt = 0
  73.     END IF
  74.     tim% = INT(TIMER - start!)
  75.     IF tim% >= 1000 THEN
  76.         col% = 38
  77.     ELSEIF tim% >= 100 THEN
  78.         col% = 39
  79.     ELSEIF tim% >= 10 THEN
  80.         col% = 40
  81.     ELSE
  82.         col% = 41
  83.     END IF
  84.     LOCATE 18, col%
  85.     COLOR 14, 4
  86.     PRINT tim%;
  87.     IF tim% > oldtim% THEN
  88.         TimNoiz$ = "N1L64T200MSMF"
  89.         PLAY "X" + VARPTR$(TimNoiz$)
  90.         oldtim% = tim%
  91.     END IF
  92. LOOP UNTIL INKEY$ = CHR$(27)
  93. finish! = TIMER
  94. elapsed! = finish! - start!
  95. FooDens = (NrFoos% / elapsed!)
  96. COLOR 15, 0
  97. BCLRBOX 14, 67, 9, 15
  98. COLOR 15, 1
  99. BFRAME 14, 66, 9, 15
  100. COLOR 15, 0
  101. LOCATE 11, 27
  102. PRINT "Total Foo's Counted : "; NrFoos%
  103. LOCATE 13, 19
  104. PRINT "Average Foo Density : ";
  105. PRINT USING "#.##"; FooDens;
  106. PRINT " FPS  (Foo's/Sec)"
  107. QPAUSE18 6
  108. ChgNoiz$ = "o3MSL6CEGo4Co3N0L8Go4L1CMF"
  109. PLAY "X" + VARPTR$(ChgNoiz$)
  110. COLOR 15, 1
  111. LOCATE 21, 40 - LEN(Dig$) \ 2
  112. PRINT Dig$
  113. WHILE INKEY$ <> CHR$(27)
  114. WEND
  115. COLOR 7, 0
  116. CLS
  117. LOCATE 4, 40 - LEN(Thanks$) \ 2
  118. COLOR 14, 4
  119. PRINT Thanks$
  120. COLOR 7, 0
  121. ind% = 40 - LEN(cred$(1)) \ 2
  122. LOCATE 8, 1
  123. FOR n = 1 TO 12
  124.     IF n = 2 OR n >= 8 THEN COLOR 15, 0 ELSE COLOR 7, 0
  125.     PRINT TAB(ind%); cred$(n)
  126. NEXT n
  127. COLOR 15, 0
  128. BFRAME 20, 60, 14, 20
  129. COLOR 7, 0
  130. LOCATE 22, 1
  131. END
  132.  
  133. DATA "  The FOO is a little understood natural phenomenon.  Scant research"
  134. DATA "has been conducted, especially in the area of the FOO's effects upon"
  135. DATA "human well-being.   We know that it has an effect, probably harmful."
  136. DATA "You can help eliminate the FOO plague by conducting FOO research.   "
  137. DATA "  Your new OFFICIAL FOO COUNTER will help alleviate the dismal state"
  138. DATA "of FOO research.   Your records of FOO counts and FOO densities will"
  139. DATA "permit the International FOO Foundation to lobby effectively for FOO"
  140. DATA "abolition, just as in the ongoing case of Plate Tektonics.          "
  141. DATA "                Press a key to CHARGE ahead and count those FOO's..."
  142. DATA "        A Production of:        "
  143. DATA "The INTERNATIONAL FOO FOUNDATION"
  144. DATA "         (no copyright)         "
  145. DATA " ...who'd want a copy, anyway ? "
  146. DATA "   "
  147. DATA "   "
  148. DATA "   "
  149. DATA "   A tongue-in-cheek exercise   "
  150. DATA "               by               "
  151. DATA "       Benjamin W. Hartley      "
  152. DATA "       Forest Park Estates      "
  153. DATA "       Jaffrey,   NH 03452      "
  154.  
  155. SUB BCLRBOX (LC%, RC%, TR%, BR%) STATIC
  156. erase$ = SPACE$((RC% - LC%) - 2)
  157. n = 0
  158. FOR el = TR% TO BR%
  159.     LOCATE TR% + n, LC% + 1
  160.     PRINT erase$
  161.     n = n + 1
  162. NEXT el
  163. END SUB
  164.  
  165. '   BFRAME.BAS
  166. SUB BFRAME (leftCol%, rightCol%, topRow%, bottomRow%) STATIC
  167.     LOCATE topRow%, leftCol%: PRINT CHR$(201)
  168.     LOCATE topRow%, rightCol%: PRINT CHR$(187)
  169.     LOCATE bottomRow%, leftCol%: PRINT CHR$(200)
  170.     LOCATE bottomRow%, rightCol%: PRINT CHR$(188)
  171.  
  172.     FOR vertLine% = topRow% + 1 TO bottomRow% - 1
  173.         LOCATE vertLine%, leftCol%: PRINT CHR$(186);
  174.         LOCATE vertLine%, rightCol%: PRINT CHR$(186);
  175.     NEXT vertLine%
  176.  
  177.     horizLength% = rightCol% - leftCol% - 1
  178.     horizLine$ = STRING$(horizLength%, 205)
  179.     LOCATE topRow%, leftCol% + 1: PRINT horizLine$
  180.     LOCATE bottomRow%, leftCol% + 1: PRINT horizLine$
  181.  
  182. END SUB
  183.  
  184. SUB BGRID (LC%, RC%, TR%, BR%) STATIC
  185. wide% = (RC% - LC%) - 2
  186. high% = (BR% - TR%) + 1
  187. gh$ = STRING$(wide%, CHR$(250))
  188. n = 0
  189. COLOR 7, 0
  190.  
  191. FOR p = TR% TO BR% STEP 2
  192.     FOR vgl = LC% + 1 TO RC% - 1 STEP 7
  193.         LOCATE p, vgl
  194.         PRINT CHR$(250)
  195.     NEXT vgl
  196. NEXT p
  197.  
  198. FOR hgl = TR% + 1 TO BR% STEP 2
  199.     LOCATE hgl, LC% + 1
  200.     PRINT gh$
  201.     IF gl >= BR% THEN EXIT FOR
  202. NEXT hgl
  203. END SUB
  204.  
  205. SUB GREETSCRN
  206. PRINT
  207. PRINT "                        The INTERNATIONAL FOO FOUNDATION"
  208. PRINT "                                     presents"
  209. COLOR 10, 1
  210. PRINT "                      ═╦═════╗"
  211. PRINT "                       ║"
  212. PRINT "                       ║        ╔═════╗   ╔═════╗   ╔════╗"
  213. PRINT "                       ╠══╣     ║     ║   ║     ║   ║     "
  214. PRINT "                       ║        ║     ║   ║     ║   ╚════╗"
  215. PRINT "                       ║        ║     ║   ║     ║        ║"
  216. PRINT "                      ═╩═       ╚═════╝   ╚═════╝   ╚════╝"
  217. PRINT
  218. PRINT "                                 An Introduction"
  219. BFRAME 5, 76, 1, 13
  220. PRINT
  221. COLOR 15, 1
  222. LOCATE 5, 33
  223. PRINT " C O U N T I N G "
  224. LOCATE 15
  225. FOR n = 1 TO 9
  226.     PRINT TAB(7); info$(n)
  227. NEXT
  228. WHILE INKEY$ = ""
  229. WEND
  230. CLS
  231. END SUB
  232.  
  233.