home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d09xx
/
d0950.lha
/
BBDoors
/
BBDoors65.lha
/
rexxDoors
/
One_Armed_Bandit.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1993-08-06
|
8KB
|
321 lines
/***************************************/
/* Bandit.rexx Slot Machine Simulator */
/* By: James M. Cates III Oct. 8 1990 */
/* Arexx V1.10 By: William Hawes */
/* Original */
/* Game Bye: M. Soucy and M. Fox. */
/* I found the code heavily 'munged' */
/* So, I did this. It works. */
/***************************************/
/* Altered again for BBBBS:rexxDoors */
/* By: Richard Lee Stockton 15 Mar 92 */
/***************************************/
/* Version 1.2 6-21-92 */
/* Adapted to play from within Chicago */
/* version 1.3 by Matt English 6-6-92 */
/***************************************/
CR='0D'x
OPTIONS RESULTS
CALL TIME('R')
SIGNAL ON BREAK_C
SIGNAL ON BREAK_E
if getclip('CHICMON') ~= '' then do
CHICGAME = 1
purse = getclip('CHICMON')
dollarsign = '$'
playstuff = 'CASH'
if getclip('CHICCOLOR') = 1 then do
red = '
'
black = '
'
white = '
'
rev = ''
def = ''
whred = '
'
whblk = '
'
ital = '
'
under = '
'
end
else do
red = ''
black = ''
white = ''
rev = ''
def = ''
whred = ''
whblk = ''
ital = ''
under = ''
end
call pull
end
ARG name purse flag . secs .
IF secs='' THEN secs=2600
IF DATATYPE(flag,'N') & flag~=0 THEN
DO
dollarsign=''
playstuff='TIME SECONDS'
END
ELSE
DO
dollarsign='$'
playstuff='CASH'
END
/**********************************************************************/
/* ANSI.rexx */
/* Simple ANSI color escape function assignments */
/*--------------------------------------------------------------------*/
/* James M. Cates Sept. 24 1990 */
/**********************************************************************/
red = "
" /****************************************/
black = "
" /* These just make life easier when you */
white = "
" /* want some color output. */
rev = "" /****************************************/
def = ""
whred = "
"
whblk = "
"
ital = "
"
under = "
"
say ' 'CR
say ' 'CR
if purse>0 then
say ' Welcome back to the Casino!'CR
else
say ' Welcome to the Casino!'CR
say ' 'CR
say rev'***********************************************************************'CR
say '* __ ___ _ __ __ _ __ _ _ ___ ___ *'CR
say '* / \ |\ | |_ /_\ |__| |\/| |_ | \ |__\ /_\ |\ | | \ | | *'CR
say '* \__/ | \| |__ / \| \ | | |__ |_/ |__/ / \| \| |_/ _|_ | *'CR
say '* *'CR
say '* Revision: Version 1.2 6-21-92 By: Matt English *'CR
say '* Revision: Version 1.0 1990 By: James M. Cates III *'CR
say '* Original: Version 0.81 1989 By: M.Soucy and M.Fox *'CR
say '* *'CR
say '***********************************************************************'def||CR
say ' 'CR
say ' 'CR
if purse>0 then call name
say 'Do you need Instructions 'red'('def'Y'red'/'def'N'red')'def' ?'CR
arg
pull ans
do i = 1 to 100
if ans = 'Y' then call inst
else call name
do i = 1 to 100
inst:
say ' 'CR
say ital'C''mon now, this is a simple game. You just follow my prompts.'CR
say 'I''ll do all the real work, all you really have to do is place your bet.'CR
say ' 'CR
say 'The symbols for each slot are a bit funny, they are only symb-'CR
say 'bolic, so don''t worry. I did not feel like doing ascii represen-'CR
say 'ations of FRUIT...'def||CR
call play
play:
say ' 'CR
say 'Do you want to play 'red'('def'Y'red'/'def'N'red')'def' ?'CR
arg
pull ans
if ans = 'Y' then call name
if ans = 'N' then call death
do i = 1 to 100
name:
if purse <10 then purse = 100
bet = 0
Tl = 0
Dl = 0
call Pull
Pull:
CALL checkBBS()
say ' 'CR
if purse = 0 then call rating
if chicgame = 1 then do
options prompt' 'red'How much cash would you like to bet? > $'def''
pull bet
end
else do
options prompt "Purse =" dollarsign||red||purse||def" Your bet please "red":"def""
pull Bet
end
if bet > 500 then do
say ''cr
say' Sorry Bud, there''s a $500 dollar limit at this machine!'cr
call pull
end
if Bet > purse then
do
say ' 'CR
say "Sorry "red||name||def" you can't bet over" dollarsign||red||purse||def||CR
do i = 1 to 100
end
call Pull
end
else
if Bet = 0 | Bet < 0 then call whatthehell
else
if Bet = '' | Bet = ' ' then call Pull
else
say ''cr
say ital'Bet taken...'def||CR
call slots
slots:
say ital'Pulling lever for 'under'BIG' playstuff'!'def||CR
call roll
call roll
roll:
odz=10
x=OPEN(f,'RAM:DUMMY','W')
CALL WRITELN(f,'DUMMY')
CALL CLOSE(f)
micros=STRIP(WORD(STATEF('RAM:DUMMY'),7))
IF micros<100 THEN micros=micros+100
micros=RIGHT(micros,3)
slot1=(LEFT(micros,1)*(odz/10))%1
slot2=(SUBSTR(micros,2,1)*(odz/10))%1
slot3=(RIGHT(micros,1)*(odz/10))%1
call stakes
stakes:
if slot1 = 0 then slot1 = '/'
if slot1 = 1 then slot1 = '@'
if slot1 = 2 then slot1 = '?'
if slot1 = 3 then slot1 = '&'
if slot1 = 4 then slot1 = '^'
if slot1 = 5 then slot1 = '_'
if slot1 = 6 then slot1 = '+'
if slot1 = 7 then slot1 = '%'
if slot1 = 8 then slot1 = '*'
if slot1 = 9 then slot1 = '!'
if slot2 = 0 then slot2 = '/'
if slot2 = 1 then slot2 = '@'
if slot2 = 2 then slot2 = '?'
if slot2 = 3 then slot2 = '&'
if slot2 = 4 then slot2 = '^'
if slot2 = 5 then slot2 = '_'
if slot2 = 6 then slot2 = '+'
if slot2 = 7 then slot2 = '%'
if slot2 = 8 then slot2 = '*'
if slot2 = 9 then slot2 = '!'
if slot3 = 0 then slot3 = '/'
if slot3 = 1 then slot3 = '@'
if slot3 = 2 then slot3 = '?'
if slot3 = 3 then slot3 = '&'
if slot3 = 4 then slot3 = '^'
if slot3 = 5 then slot3 = '_'
if slot3 = 6 then slot3 = '+'
if slot3 = 7 then slot3 = '%'
if slot3 = 8 then slot3 = '*'
if slot3 = 9 then slot3 = '!'
call output
output:
say ' 'CR
say ' <'red slot1 def'> <'red slot2 def'> <'red slot3 def'>'CR
call compare
compare:
if slot1 = slot2 & slot1 ~= slot3 then call winner1
else
if slot2 = slot3 & slot2 ~= slot1 then call winner1
else
if slot1 = slot2 & slot1 = slot3 then call winner2
else purse = (purse - bet)
if chicgame = 1 then do
say''cr
say ' Sorry, you just lost $'bet''cr
call chicexit
end
call Pull
winner1:
say whred'You won double your bet!'def||CR
purse = purse + (bet * 2)
if chicgame = 1 then do
say''cr
win = (bet * 2)
say' You just won $'win' !'cr
call chicexit
end
call Pull
winner2:
say whred'You won TRIPLE your bet!'def||CR
purse = purse + (bet * 3)
if chicgame = 1 then do
say''cr
win = (bet * 3)
say' You just won $'win' !'cr
call chicexit
end
call Pull
whatthehell:
options prompt 'Do you want to continue 'red'('def'Y'red'/'def'N'red')'def' ?'
do i = 1 to 100
pull ans
arg
if ans = 'Y' then call Pull
else do
if chicgame ~=1 then call rating
if chicgame = 1 then call chicexit
end
end
chicexit:
say''cr
call setclip('CHICMON',purse)
exit
rating:
if purse > 2000 then RATE = 'Mr. Trump! Your jet is waiting.'
if purse > 1500 & purse <= 2000 then RATE = 'What city are you going to buy?'
if purse > 1000 & purse <= 1500 then RATE = 'Your wallet is fat now!'
if purse > 750 & purse <= 1000 then RATE = 'Pretty good.'
if purse > 500 & purse <= 750 then RATE = 'Well, you did okay.'
if purse > 250 & purse <= 500 then RATE = 'Er..stick to monopoly, eh?'
if purse < 250 & purse >= 100 then RATE = 'You need help!'
if purse < 100 then RATE = 'Hope you have enough for a cab home, sucker!'
say ' '
say 'You had 'dollarsign||red||purse||def' before you quit!'CR
say 'Your rating is : 'ital RATE def||CR
do i = 1 to 200
end
BREAK_C:
BREAK_E:
death:
say ' 'CR
say 'You made' dollarsign||red||purse||def' today!'CR
say 'Goodbye, 'ital||name||def'.'CR
say ' 'CR
CALL SETCLIP('BBS_winnings',purse)
exit
end
checkBBS:
IF ADDRESS()~='BAUD' THEN RETURN 0
IF TIME('E')>secs THEN SIGNAL death
dcd
IF RC=0 THEN SIGNAL death
temp=secs-TIME('E')
IF temp<120 THEN SAY '*** Only' temp 'seconds left! ***'CR
RETURN 0
/* One_Armed_Bandit.rexx */