home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
games
/
foodat.zip
/
FOO.BAS
next >
Wrap
BASIC Source File
|
1991-08-17
|
6KB
|
233 lines
DECLARE SUB GREETSCRN ()
DECLARE SUB BGRID (LC%, RC%, TR%, BR%)
DECLARE SUB BFRAME (leftCol%, rightCol%, topRow%, bottomRow%)
DECLARE SUB BCLRBOX (LC%, RC%, TR%, BR%)
DECLARE SUB QPAUSE18 (BYVAL Count AS INTEGER)
DIM SHARED info$(9)
DIM cred$(12)
FOR n = 1 TO 9
READ info$(n)
NEXT n
FOR n = 1 TO 12
READ cred$(n)
NEXT n
false% = 0: true% = NOT false%
COLOR 15, 1
CLS
GREETSCRN
ChgNoiz$ = "o3MSL11T150CEGo4Co3N0L8Go4L1CMB"
Title$ = "YOUR OFFICIAL FOO Counter..."
Bottom$ = "...is now counting Foo's."
Dig$ = "...WAS counting Foo's. "
Quit$ = "[ESC] to Quit"
Thanks$ = " FOO COUNTING: Essential to Humankind's Well Being! "
PLAY "X" + VARPTR$(ChgNoiz$)
LOCATE 2, 40 - LEN(Title$) \ 2
PRINT LEFT$(Title$, 14);
COLOR 27, 1
PRINT "F" + CHR$(1) + CHR$(1);
COLOR 15, 1
PRINT " COUNTER..."
LOCATE 21, 40 - LEN(Bottom$) \ 2
PRINT Bottom$
LOCATE 23, 40 - LEN(Quit$) \ 2
COLOR 7, 1
PRINT Quit$
COLOR 15, 1
BFRAME 25, 55, 4, 18
LOCATE 18, 37
PRINT "╡";
COLOR 14, 4
PRINT " ";
COLOR 15, 1
PRINT "╞"
COLOR 7, 0
BCLRBOX 25, 56, 5, 17
BGRID 25, 56, 5, 17
RANDOMIZE TIMER
NrFoos% = 0
start! = TIMER
DO
row% = INT((12) * RND + 5)
col% = INT((21) * RND + 31)
kolor% = INT((7) * RND + 9)
prt = RND
IF prt > .97 THEN
LOCATE row%, col%
ORow% = CSRLIN: OCol% = POS(0)
COLOR kolor%, 0
FooNoiz$ = "N84L64T255MSMF"
PLAY "X" + VARPTR$(FooNoiz$)
PRINT CHR$(1)
NrFoos% = NrFoos% + 1
QPAUSE18 7
LOCATE ORow%, OCol%
PRINT " "
BGRID 25, 56, 5, 17
prt = 0
END IF
tim% = INT(TIMER - start!)
IF tim% >= 1000 THEN
col% = 38
ELSEIF tim% >= 100 THEN
col% = 39
ELSEIF tim% >= 10 THEN
col% = 40
ELSE
col% = 41
END IF
LOCATE 18, col%
COLOR 14, 4
PRINT tim%;
IF tim% > oldtim% THEN
TimNoiz$ = "N1L64T200MSMF"
PLAY "X" + VARPTR$(TimNoiz$)
oldtim% = tim%
END IF
LOOP UNTIL INKEY$ = CHR$(27)
finish! = TIMER
elapsed! = finish! - start!
FooDens = (NrFoos% / elapsed!)
COLOR 15, 0
BCLRBOX 14, 67, 9, 15
COLOR 15, 1
BFRAME 14, 66, 9, 15
COLOR 15, 0
LOCATE 11, 27
PRINT "Total Foo's Counted : "; NrFoos%
LOCATE 13, 19
PRINT "Average Foo Density : ";
PRINT USING "#.##"; FooDens;
PRINT " FPS (Foo's/Sec)"
QPAUSE18 6
ChgNoiz$ = "o3MSL6CEGo4Co3N0L8Go4L1CMF"
PLAY "X" + VARPTR$(ChgNoiz$)
COLOR 15, 1
LOCATE 21, 40 - LEN(Dig$) \ 2
PRINT Dig$
WHILE INKEY$ <> CHR$(27)
WEND
COLOR 7, 0
CLS
LOCATE 4, 40 - LEN(Thanks$) \ 2
COLOR 14, 4
PRINT Thanks$
COLOR 7, 0
ind% = 40 - LEN(cred$(1)) \ 2
LOCATE 8, 1
FOR n = 1 TO 12
IF n = 2 OR n >= 8 THEN COLOR 15, 0 ELSE COLOR 7, 0
PRINT TAB(ind%); cred$(n)
NEXT n
COLOR 15, 0
BFRAME 20, 60, 14, 20
COLOR 7, 0
LOCATE 22, 1
END
DATA " The FOO is a little understood natural phenomenon. Scant research"
DATA "has been conducted, especially in the area of the FOO's effects upon"
DATA "human well-being. We know that it has an effect, probably harmful."
DATA "You can help eliminate the FOO plague by conducting FOO research. "
DATA " Your new OFFICIAL FOO COUNTER will help alleviate the dismal state"
DATA "of FOO research. Your records of FOO counts and FOO densities will"
DATA "permit the International FOO Foundation to lobby effectively for FOO"
DATA "abolition, just as in the ongoing case of Plate Tektonics. "
DATA " Press a key to CHARGE ahead and count those FOO's..."
DATA " A Production of: "
DATA "The INTERNATIONAL FOO FOUNDATION"
DATA " (no copyright) "
DATA " ...who'd want a copy, anyway ? "
DATA " "
DATA " "
DATA " "
DATA " A tongue-in-cheek exercise "
DATA " by "
DATA " Benjamin W. Hartley "
DATA " Forest Park Estates "
DATA " Jaffrey, NH 03452 "
SUB BCLRBOX (LC%, RC%, TR%, BR%) STATIC
erase$ = SPACE$((RC% - LC%) - 2)
n = 0
FOR el = TR% TO BR%
LOCATE TR% + n, LC% + 1
PRINT erase$
n = n + 1
NEXT el
END SUB
' BFRAME.BAS
SUB BFRAME (leftCol%, rightCol%, topRow%, bottomRow%) STATIC
LOCATE topRow%, leftCol%: PRINT CHR$(201)
LOCATE topRow%, rightCol%: PRINT CHR$(187)
LOCATE bottomRow%, leftCol%: PRINT CHR$(200)
LOCATE bottomRow%, rightCol%: PRINT CHR$(188)
FOR vertLine% = topRow% + 1 TO bottomRow% - 1
LOCATE vertLine%, leftCol%: PRINT CHR$(186);
LOCATE vertLine%, rightCol%: PRINT CHR$(186);
NEXT vertLine%
horizLength% = rightCol% - leftCol% - 1
horizLine$ = STRING$(horizLength%, 205)
LOCATE topRow%, leftCol% + 1: PRINT horizLine$
LOCATE bottomRow%, leftCol% + 1: PRINT horizLine$
END SUB
SUB BGRID (LC%, RC%, TR%, BR%) STATIC
wide% = (RC% - LC%) - 2
high% = (BR% - TR%) + 1
gh$ = STRING$(wide%, CHR$(250))
n = 0
COLOR 7, 0
FOR p = TR% TO BR% STEP 2
FOR vgl = LC% + 1 TO RC% - 1 STEP 7
LOCATE p, vgl
PRINT CHR$(250)
NEXT vgl
NEXT p
FOR hgl = TR% + 1 TO BR% STEP 2
LOCATE hgl, LC% + 1
PRINT gh$
IF gl >= BR% THEN EXIT FOR
NEXT hgl
END SUB
SUB GREETSCRN
PRINT
PRINT " The INTERNATIONAL FOO FOUNDATION"
PRINT " presents"
COLOR 10, 1
PRINT " ═╦═════╗"
PRINT " ║"
PRINT " ║ ╔═════╗ ╔═════╗ ╔════╗"
PRINT " ╠══╣ ║ ║ ║ ║ ║ "
PRINT " ║ ║ ║ ║ ║ ╚════╗"
PRINT " ║ ║ ║ ║ ║ ║"
PRINT " ═╩═ ╚═════╝ ╚═════╝ ╚════╝"
PRINT
PRINT " An Introduction"
BFRAME 5, 76, 1, 13
PRINT
COLOR 15, 1
LOCATE 5, 33
PRINT " C O U N T I N G "
LOCATE 15
FOR n = 1 TO 9
PRINT TAB(7); info$(n)
NEXT
WHILE INKEY$ = ""
WEND
CLS
END SUB