call transmit ' Original by J.L. White and D.F. Duck'
call delay(50)
return
OpenThings:
Players = 0
if ~exists(HSData) then do
CALL OPEN('OldUdata',HSData,'W')
CALL CLOSE('OldUdata')
end
CALL OPEN('OldUdata',HSData,'R')
do until eof('OldUdata')
line = readln('OldUdata')
Players = Players + 1
end
CALL CLOSE('OldUdata')
Players = Players - 1
if Players <= 1 then Players = 1
WhichPlayer = Random(1,Players)
x = 0
CALL OPEN('OldUdata', HSData ,'R')
do until eof('OldUdata')
line = readln('OldUdata')
x = x + 1
parse var line name ' : ' score
if x = WhichPlayer then OtherName = name
if OtherName = UserName then do
line = readln('OldUdata')
parse var line name ' : ' score
OtherName = name
end
end
CALL CLOSE('OldUdata')
if OtherName = '' then do
OtherName = sysopname
OtherName2 = center(OtherName,26,' ')
end
CALL OPEN('OldUdata',HSData,'R')
CALL OPEN('NewUserData','T:HS.Temp','W')
do until eof('OldUdata')
line = readln('OldUdata')
parse var line name ' : ' score ' : ' score2
if name = UserName then do
UserWins = value(score)
UserLoses = value(score2)
end
if name = OtherName then do
OtherName = name
OtherName2 = center(OtherName,26,' ')
OtherWins = value(score)
OtherLoses = value(score2)
end
if line~='' & name ~= UserName & name ~= OtherName THEN
CALL writeln('NewUserData',line)
end
CALL CLOSE('OldUdata')
return
ShowList:
Num = 1
call HEADER
CALL OPEN('OldUdata',HSData,'R')
TLines = 0
do until eof('OldUdata')
line = readln('OldUdata')
parse var line name ' : ' score ' : ' score2
lineb = readln('OldUdata')
parse var lineb bname ' : ' bscore ' : ' bscore2
if line ~= '' then CALL TRANSMIT BAK''BLK'| o | 'left(name,20)''right(score,3)' 'right(score2,3)' 'left(bname,20)' 'right(bscore,3)' 'right(bscore2,3)' | o |'
TLines = TLines + 1
if TLines = 10 then do
CALL TRANSMIT BAK''BLK'| o | 'BLK'| o |'
CALL TRANSMIT BAK''BLK'| o |'BLU' Continued on next Page... 'BLK'| o |'
CALL TRANSMIT BAK''BLK'| o | 'BLK'| o |'OFF''
call PressReturn
Num = Num + 1
call Header
TLines = 0
end
end
CALL CLOSE('OldUdata')
CALL TRANSMIT '| o | | o |'
CALL TRANSMIT '| o | End Of User Listing! | o |'
CALL TRANSMIT '| o | | o |'OFF''
call PressReturn
return
HEADER:
call transmit CLS
call transmit BAK''BLK'| o | 'BLU'Page'Num' 'BLK'| o |'
call transmit BAK''BLK'| o | 'BLU'Hollywood Squares Players 'BLK'| o |'
call transmit BAK''BLK'| o | 'BLK'| o |'
call transmit BAK''BLK'| o | 'MAG'Players Names Won Lost Players Names Won Lost 'BLK'| o |'
call transmit BAK''BLK'| o | 'MAG'------------------- --- ---- -------------------- --- ---- 'BLK'| o |'
return
Instructions:
call transmit CLS
call transmit CYA' Welcome to Hollywood Squares. This game combines Tic Tac Toe with Trivial'
call transmit 'Pursuit. The object is to get three "O" in a row. This can be horizontal,'
call transmit 'vertical, or diagonal. First you select which square you wish to play for.'
call transmit 'A random question will then appear. If you answer correctly you get the'
call transmit 'square, if not "X" gets the square. Your opponent is selected randomly from'
call transmit 'among the list of players in the game. It keeps track of how many wins and'
call transmit 'loses you have. The "X" player has a 50/50 chance of answering the question'
call transmit 'right. If he is wrong you get the square he tries for. The "X" player is a'
call transmit 'pretty good player. He knows when to block and when to go for a win.'
call transmit ' '
call transmit ' The squares on the board are numbered like a keypad:'BLU' 7 8 9'
call transmit ' 4 5 6'
call transmit ' 1 2 3'
call transmit ' '
call transmit CYA' At any prompt you can hit "Q" to end the game and return to the bbs.'
call transmit 'If while during the game, the screen gets messed up, enter "R" to refresh'
call transmit 'the screen. If you''ve ever watched HollyWood Squares on TV, then you'
call transmit 'should have no problems playing this game.'