!*************************** AMUS Program Label ****************************** ! Filename: POKNEW.BAS Date: 11/09/89 ! Category: GAME Hash Code: Version: 2.0(100) ! Initials: RWAG/AM Name: JOHN WAGNER ! Company: WAGNER & ASSOC. Telephone #: ! Related Files: JOBNAM.SBR, STRIP.SBR, BOX.SBR ! Min. Op. Sys.: Expertise Level: BEG ! Special: ! Description: Fun poker game, get ready to loose your house, car, and wife ! ! !***************************************************************************** !*! Updated on 09-Nov-89 at 10:20 AM by Matt Badger; edit time: 0:03:38 !*************************************************** PROGRAM POKNEW,1.2(100) ! POKNEW.BAS 2.0(100) ! WRITTEN BY: JOHN WAGNER RWAG/AM ! WAGNER & ASSOC. FORT WAYNE, INDIANA ! ! ALSO GRAB: ! JOBNAM.SBR ALL ON AMUS NETWORK ! STRIP.SBR ! BOX.SBR !**************************************************** ! MAP STATEMENTS MAP1 Y,F,6 ! Y CORRADANCE OF CARD MAP1 X,F,6 ! X CORRADANCE OF CARD MAP1 AB,F,6 MAP1 BANK,F,6 ! ALPHY'S BANK MAP1 MONY,F,6 ! YOUR MONEY MAP1 POT,F,6 ! CURRENT POT MAP1 HSE'HND,F,6 ! HOW MANY HANDS SINCE HOUSE WAS SOLD MAP1 CAR'HND,F,6 ! " " CAR WAS SOLD MAP1 WIF'HND,F,6 ! " " WIFE WAS SOLD MAP1 LOAN'HND,F,6 ! " " LOAD WAS STARTED MAP1 SLD'HSE,B,1 ! HOUSE SOLD MAP1 SLD'CAR,B,1 ! CAR SOLD MAP1 SLD'WIF,B,1 ! FLAG FOR SOLD WIFE MAP1 LOAN'OUT,B,1 ! FLAG FOR OUTSTANDING LOAN MAP1 AP,F,6 MAP1 AQ,F,6 MAP1 AR,F,6 MAP1 AS,F,6 ! USED IN ALL LOOPS MAP1 AT,F,6 MAP1 AU,F,6 MAP1 AV,F,6 MAP1 ALS'BET,F,6 ! ALPHA BET MAP1 PLAY$,S,1 ! MAP1 SHARK$,S,1 MAP1 BLUFF,B,1 MAP1 MY'BET,F,6 ! MY CURRENT BET MAP1 BA,F,6 MAP1 FAC'VLU,S,5 ! FACE VALUE OF CARD MAP1 RAISE'AMT,F,6 ! AMOUNT OF RAISE MAP1 BL,F,6 ! BAD BETS LEFT MAP1 SELL'CAR,S,1 MAP1 SELL'WIF,S,1 MAP1 WIF'RATE,F,6 ! WIFE RATING MAP1 BR,F,6 ! AMOUNT TO BORROW MAP1 BS,F,6 MAP1 BT$,S,15 MAP1 BU,F,6 MAP1 BV,F,6 MAP1 BW,F,6 MAP1 BY,F,6 MAP1 CA,F,6 MAP1 LOAN,F,6 ! CURRENT SHARK CREDIT LIMIT MAP1 INTR,F,6 ! INTREST RATE MAP1 BALANC,F,6 ! RUNNING BALANCE PLAYER (STORED IN JOBNAM.POK) MAP1 JOB$,S,6 ! JOB NAME MAP1 HSTRY,B,1 ! MAP1 YY,S,6 ! START INITALIZATION SIGNIFICANCE 11 DIM VALU(10,7),USED(53) RANDOMIZE ? TAB(-1,29); ? tab(-1,0); ! ALPHA POKER SCREEN ?:?:?:? ? tab(-1,23); ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);"" ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?"" ?" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);"" ?" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" " ?" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);" ";TAB(-1,49);" ";TAB(-1,49);" " ? tab(-1,24); xcall box,3,17,21,59 FOR I = 1 TO 10000:NEXT I !RUN A HISTORY CHECK ON NEW PLAYER XCALL JOBNAM, JOB$ XCALL STRIP,JOB$ LOOKUP JOB$+".POK",HSTRY IF HSTRY THEN & CALL SUB'HSY ELSE & GOTO STRT ? TAB(-1,0); ? TAB(12,20);"WE RAN A CREDIT CHECK ON YOU AND IT SHOWED THAT " IF BALANC > 0 THEN & ? TAB(13,20);: & ? USING "YOU WON ###,###,###,###,###,###.##";BALANC: & ? TAB(14,20); "THIS TIME WE WILL BE WATCHING YOU" ELSE & ? TAB(13,20);: & ? USING "YOU LOST ###,###,###,###,###,###.##";ABS(BALANC) : & ? TAB(14,20); "THIS TIME WE WILL COLLECT IF THE BANK GOES BROKE" XCALL BOX,11,18,15,68 STRT: ? TAB(22,1);:? TAB(-1,11);"Enter 'HELP' to see help";:? TAB(-1,12); ?TAB(-1,28); ? TAB(23,1);:INPUT LINE "Enter 'CR' to continue ";YY IF YY = "HELP" THEN & CALL HELP'ME ! SET UP STARTING BANKS AB=0 BANK=50000000 MONY=5000000 INTR=.1 LOAN=500000 POT=0 CK'LNS: ! CHECK FOR CURRENT LOAN STATUS IF BANK<=5000 THEN & GOTO LBL'3G IF SLD'HSE=1 THEN HSE'HND=HSE'HND+1 IF SLD'CAR=1 THEN CAR'HND=CAR'HND+1 IF SLD'WIF=1 THEN WIF'HND=WIF'HND+1 IF LOAN'OUT=1 THEN LOAN'HND=LOAN'HND+1 ? TAB(-1,0);:CALL SUB'ZZ IF CAR'HND>0 OR HSE'HND>0 OR WIF'HND>0 OR LOAN'HND>0 THEN SOLD=1 IF SOLD=1 THEN & ? TAB(23,1);"CURRENT LOAN STATUS" ? TAB(23,70);INTR*100;"%": & ? "CAR ";CAR'HND,"HOUSE ";HSE'HND, ? "WIFE ";WIF'HND, ? "LOAN ";LOAN'HND;" ";: & ? USING "$$###,###,###,###.";AP; ? TAB(1,1);"THE ANTE IS $5,000. I WILL DEAL" IF MONY>5000 THEN GOTO ANTY'UP CALL NO'MONY ANTY'UP: POT=POT+10000 !ANTY UP MONY=MONY-5000 BANK=BANK-5000 BLUFF = 0 !RESET BLUFF SETTING CALL SUB'ZZ !UPDATE BANKS FOR I=2 TO 53:USED(I)=0:NEXT I !CLEAR USED CARDS FOR I=6 TO 10:VALU(I,7)=0:NEXT I FOR AQ=1 TO 10 CALL SUB'D ! GO GET 10 CARDS CALL SUB'F NEXT AQ ? TAB(2,1);"YOUR HAND:" ! DISPLAY CURRENT HAND AR=1 AQ=1 X = 3 CALL SORT'IT !SORT CALL SHOW'VAL !DISPLAY AR=6 !SET FOR ALPHA HAND CALL SORT'IT !SORT IF YY="CHEAT" THEN & X = 11 : & CALL SHOW'VAL ELSE & CALL SHOW'BLANK !CHECH FOR CHEAT FOR BUG FIXING PURPOSE X = 3 CALL SUB'HND'VLU ! FIND VALU OF HAND ! BET ON GOOD HAND ! OR MAYBE BLUFF IF VALU(AR,5)>0 THEN & BSEED=VALU(AR,5):GOTO ALPHA'OPN IF INT(10*RND(1)) > 5 THEN & BSEED=INT(7*RND(1)): & BLUFF = 1 : & GOTO ALPHA'OPN ! THE BLUFF ? TAB(19,1);"ALPHA WILL CHECK" AV=0:RAISE'AMT=0 GOTO ALPHA'CK ALPHA'OPN: ALS'BET=ABS(INT((BANK/15)*RND(1)*BSEED)) IF ALS'BET>MONY THEN ALS'BET=INT(ALS'BET*.2) CALL CALC'BANKS ? TAB(19,1)"ALPHA OPENS WITH "; ? USING "$$##,###,###,###.";ALS'BET OPN=1 AV=ALS'BET BANK=INT(BANK-ALS'BET) POT=POT+ALS'BET CALL SUB'ZZ ALPHA'CK: CALL SUB'MY'BET CALL SUB'HND'VLU ! CALL ALPHAS HAND ? TAB(19,1);TAB(-1,10); IF FOLD = 1 THEN & FOLD = 0 : & GOTO YOU'WIN DRAW: ? "NOW WE DRAW--- HOW MANY CARDS DO YOU WANT "; INPUT AZ IF AZ=0 THEN GOTO LBL'X AQ=10 IF AZ<5 THEN GOTO LBL'W ? "YOU CAN'T DRAW MORE THAN FOUR CARDS" GOTO DRAW LBL'W: ? "WHAT ARE THEIR NUMBERS" FOR BA=1 TO AZ BACK'BOM: INPUT " ";AQ IF AQ<1 THEN GOTO LBL'BOM IF AQ>5 THEN GOTO LBL'BOM CALL SUB'D:CALL SUB'F NEXT BA CALL SORT'IT ? TAB(-1,0) ? TAB(2,1);"YOUR NEW HAND:" AR=1 X = 3 CALL SHOW'VAL IF YY="CHEAT" THEN & X = 11 : & CALL SHOW'VAL ELSE & CALL SHOW'BLANK CALL SUB'ZZ LBL'X: DRW=0 FOR AQ=6 TO 10 IF VALU(AQ,7)=1 THEN GOTO LBL'Y CALL SUB'D:CALL SUB'F:DRW=DRW+1 LBL'Y: IF DRW=3 THEN AQ=10 NEXT AQ AR=6 CALL SORT'IT ? TAB(19,1);TAB(-1,10);"I'M TAKING";DRW;"CARD"; IF DRW=0 THEN ?:GOTO LBL'AA ? "S" LBL'AA: AU=0 AV=0 RAISE'AMT=0:CALL SUB'MY'BET IF MY'BET=0 GOTO WHO'WON CALL SUB'HND'VLU ! CALL HAND IF VALU(6,5)=0 THEN GOTO WHO'WON ? TAB(18,1);"ALPHA WILL CHECK" GOTO WHO'WON LBL'1I: ALS'BET=ABS(INT((RAISE'AMT-AV)*RND(1)+((MONY/2)*RND(1)))) CALL CALC'BANKS ALS'BET=INT(ALS'BET) ? TAB(18,1);"ALPHA WILL BET ";ALS'BET AV=ALS'BET POT=POT+ALS'BET BANK=INT(BANK-ALS'BET) CALL SUB'ZZ CALL SUB'MY'BET WHO'WON: !! WHO WINS ? "NOW WE COMPARE HANDS" ? TAB(11,1);"MY HAND:";TAB(-1,10); AR=6 X = 12 CALL SHOW'VAL AR=1 CALL SORT'IT ? TAB(20,1);"YOU HAVE "; CALL SUB'HND'VLU CALL SUB'WI2 ? TAB(21,1);"AND I HAVE "; AR=6 CALL SUB'HND'VLU CALL SUB'WI2 IF VALU(1,5) > VALU(6,5) THEN GOTO YOU'WIN IF VALU(1,5) < VALU(6,5) THEN GOTO ALPHA'WINS IF VALU(1,5) = VALU(6,5) AND VALU(1,6) > VALU(6,6) THEN GOTO YOU'WIN IF VALU(1,5) = VALU(6,5) AND VALU(1,6) < VALU(6,6) THEN GOTO ALPHA'WINS ! IF VALU(1,5) = VALU(6,5) AND VALU(1,6) = VALU(6,6) THEN GOTO LBL'PP ! IF TIED=1 THEN GOTO ALPHA'WINS ! IF TIED=2 THEN GOTO YOU'WIN ? "THE HAND IS DRAWN" ? USING "$$###,###,###,###.## REMAINS IN THE POT";POT INPUT QQQ GOTO CK'LNS !***************************************************************************** LBL'3G: ? TAB(-1,0);:CALL SUB'ZZ ? TAB(3,3)"I'M BROKE. CONGRATULATIONS!" XCALL BOX,2,2,4,32 ? TAB(1,1);TAB(-1,21);TAB(4,35);TAB(-1,22) FOR AS=1 TO 2000 NEXT AS IF BANK>5000 THEN GOTO CK'LNS CASH'OUT: IF SLD'HSE=1 THEN BS=200 SLD'HSE=0 IF BS=200 THEN GOTO LBL'4C IF SLD'CAR=1 THEN BS=10 SLD'CAR=0 IF BS=5 THEN GOTO LBL'4C IF SLD'WIF=1 THEN BS=1000 SLD'WIF=0 IF LOAN'HND>1 THEN GOTO LBL'4D LBL'4C: IF BS=200 THEN BT$="HOUSE" :CALL BUY'BACK'HSE IF BS=10 THEN BT$="CAR" :CALL BUY'BACK'CAR IF BS=.5 THEN BT$="WATCH" :CALL SUB'S IF BS=1000 THEN BT$="WIFE" :CALL BUY'WIFE'BAK IF BS=0 THEN GOTO LBL'4O ? "I NOTICED I STILL OWN YOUR ";BT$;" YOU JUST BOUGHT IT BACK " ? "WITH INTREST OF 5% PER HAND " BL=0 BU=BS*1000 BV=INT(BV) ? "ITS YOURS FOR ONLY "; ? USING "##,###,###,###.##";BU+BV BANK=BANK+BU+BV MONY=MONY-BU-BV BS=0 GOTO LBL'Q !***************************************************************************** LBL'4D: IF PLAY$="N" GOTO LBL'4O ? TAB(-1,0); CALL SUB'ZZ BV=AP FOR AS=1 TO LOAN'HND BV=BV+BV*INTR NEXT AS LOAN'HND=0 BV=INT(BV) XCALL BOX,4,5,7,74 ? TAB(5,6)"THE LOAN SHARK IS COLLECTING DUES YOU NOW OWE "; ? USING "$$###,###,###,###.";BV ? TAB(6,6)"HOW MUCH DO YOU WISH TO PAY "; INPUT BW AP=INT(BV-BW) IF AP=0 THEN INTR=.05:LOAN=500000 IF INTR>.1 THEN INTR=INTR-.05:LOAN=LOAN-1000000 IF AP<0 THEN AP=AP-BW*.8: & ? TAB(9,6);"THERE IS A 20% HOLDING CHARGE WHEN THE LOAN SHARK OWES YOU" : & XCALL BOX,8,5,10,64 BV=0 MONY=MONY-BW IF BW>0 THEN BANK=BANK+BW IF AP=0 THEN LOAN'OUT=0 GOTO LBL'Q !***************************************************************************** LBL'4E: IF BALANC < 0 THEN AP=AP-BALANC:BALANC=0: & ? "I AM COLLECTING A PAST DUE BILL":GOTO LBL'4O ?:?:?:?:? ? "I HAD BETTER RUN BEFORE YOU PULL A GUN" ? "LOOKS LIKE YOUR OUT "; ? USING "$$###,###,###,###.";BANK ? "AT LEAST YOUR LEAVING THE TABLE WITH"; ? USING "$$###,###,###,###.";MONY+BANK ? USING " A PROFIT OF $$###,###,###,###.##";MONY+BANK-5000000 ? " BYE " GOTO LATER'TATER !***************************************************************************** LBL'4O: BV=AP IF BV=0 AND BANK<0 THEN GOTO LBL'4E FOR AS=1 TO LOAN'HND BV=BV+BV*INTR NEXT AS LOAN'HND=0 BV=INT(BV) ? "THE LOAN SHARK IS COLLECTING DUES YOU NOW OWE "; ? USING "$$###,###,###,###,###,###.";BV IF PLAY$="N" THEN MONY=MONY-BV:GOTO LBL'4U IF MONY0 THEN BANK=BANK+BV AP=0 LBL'4P: BV=0 IF AP=0 THEN LOAN'OUT=0 GOTO LBL'Q !***************************************************************************** LBL'4R: IF BY<2 THEN GOTO CAUGHT'CHEATIN ? " THE CARDS ARE O.K. BUT YOU DIDN'T CLAIM ALL YOUR MONEY LAST YEAR" CA=BY*10000000 ? USING "ON YOUR TAX RETURN PENELTY AND INTEREST TOTAL $$##,###,###.## ";CA ? "MAYBE NEXT TIME YOU WON'T CHEAT" MONY=MONY-CA AB=0 BANK=BANK+CA RETURN CAUGHT'CHEATIN: ? USING " WE CAUGHT YOU NOW CHEATING FINES OF 25% OR $$###,###,###,###.##";MONY*.5 BANK=INT(BANK+MONY*.25) MONY=INT(MONY-MONY*.25) AB=0 RETURN LBL'4U: ? "AT LEAST YOUR LEAVING THE TABLE WITH"; ? USING "$$###,###,###,###.";MONY IF MONY-500000>0 THEN ? USING " A PROFIT OF $$###,###,###,###.##";MONY-500000 IF MONY-500000<0 THEN ? USING " A LOSS OF $$###,###,###,###.##";MONY-500000 ? " BYE " GOTO LATER'TATER !***************************************************************************** SUB'A: ALPHA'WINS: ? TAB(-1,32);:? " ALPHA WINS ";:? TAB(-1,33) BANK=BANK+POT POT=0 CALL SUB'ZZ LBL'Q: IF PLAY$="N" THEN GOTO CASH'OUT ? TAB(23,1);"DO YOU HAVE BUISNESS WITH THE LOAN SHARK"; INPUT LINE SHARK$ IF SHARK$="Y" THEN GOTO LBL'4D LBL'R: CALL SUB'Y ? "DO YOU WISH TO CONTINUE (N OR Y)"; INPUT LINE PLAY$ IF UCS(PLAY$)="N" THEN ? TAB(-1,0); IF PLAY$="" THEN GOTO CK'LNS IF (PLAY$="0") OR (PLAY$="Y") THEN GOTO CK'LNS IF UCS(PLAY$)="N" THEN GOTO CASH'OUT IF PLAY$="BYE" THEN CHAIN "TROUBL.CMD" ? "ANSWER YES OR NO,PLEASE" IF ((((MONY<0) AND (SLD'HSE=1)) AND (SLD'CAR=1)) AND (AP>=LOAN)) AND (SLD'WIF=1) THEN & GOTO OUT'OF'LUCK ? TAB(-1,0);:CALL SUB'ZZ GOTO LBL'R YOU'WIN: ? TAB(-1,32);:? " YOU WIN ";:? TAB(-1,33) MONY=MONY+POT POT=0 CALL SUB'ZZ GOTO LBL'Q !***************************************************************************** SUB'D: CRD=INT(50*RND(0)+2) VALU(AQ,1)=CRD IF USED(CRD) <> 1 THEN USED(CRD)=1 ELSE GOTO SUB'D RETURN !***************************************************************************** SHOW'VAL: ! SHOW VALUE OF 5 CARDS FOR AQ=AR TO AR+4 Y = INT(((AQ - AR) * 14) + 2 ) CALL SUB'F:CALL FACE CALL SUITE ? TAB(X+1,Y+1);FAC'VLU; NEXT AQ:RETURN !***************************************************************************** SHOW'BLANK: ! SHOW VALUE OF 5 CARDS X = 11 FOR AQ=0 TO 4 STEP 1 Y = INT((AQ * 14) + 2 ) CALL BLANK NEXT AQ X = 3 :RETURN !***************************************************************************** SUB'F: ! SET VALUE OF CARD AV=VALU(AQ,1) VALU(AQ,2)=0 LBL'1N: IF AV>14 THEN AV=AV-13:VALU(AQ,2)=VALU(AQ,2)+1:GOTO LBL'1N VALU(AQ,3)=AV RETURN !***************************************************************************** FACE: ! PRINT VALUE OF CARD IF AV<>11 THEN GOTO QUEEN ! FOR SHOW'VAL OR OTHER FAC'VLU="JACK" RETURN QUEEN: IF AV<>12 THEN GOTO KING FAC'VLU="QUEEN" RETURN KING: IF AV<>13 THEN GOTO ACE FAC'VLU="KING" RETURN ACE: IF AV<>14 THEN GOTO NUMBER FAC'VLU="ACE" RETURN NUMBER: IF AV>10 THEN RETURN FAC'VLU=STR(AV) RETURN !***************************************************************************** SUITE: IF VALU(AQ,2)=0 THEN CALL CLUBS IF VALU(AQ,2)=1 THEN CALL SPADES IF VALU(AQ,2)=2 THEN CALL HEARTS IF VALU(AQ,2)=3 THEN CALL DIAMONDS RETURN !***************************************************************************** ! I AM HERE TRYING TO FIGURE OUT SORT SORT'IT: SM=0 FOR SK=AR+1 TO AR+4 IF VALU(SK,3)>=VALU(SK-1,3) THEN GOTO LBL'S1 FOR SF=1 TO 4 SE=VALU(SK,SF) VALU(SK,SF)=VALU(SK-1,SF) VALU(SK-1,SF)=SE NEXT SF SM=1 LBL'S1: NEXT SK IF SM=1 THEN GOTO SORT'IT RETURN !***************************************************************************** SUB'LOAN: IF LOAN<50000000 THEN & ? USING "I'LL LET YOU BORROW ANOTHER $10,000,000 BUT "; : & ? "THE INTREST RATE IS NOW ##%";(INTR+.05)*100 ELSE & ? "YOU HAVE EXCEDED YOUR EXTENDED CREDIT LIMIT":RETURN LOAN=LOAN+10000000 INTR=INTR+.05 RETURN !***************************************************************************** ! LETS BET ON IT SUB'MY'BET: IF OPN=1 THEN RAISE'AMT=ALS'BET OPN=0 IF AP<55000000 AND MONY0 THEN GOTO SML'CHG IF RAISE'AMT<>0 THEN GOTO SML'CHG IF MY'BET=.5 THEN MY'BET=0:MY'CK=1:RETURN ! WE'LL CHECK THIS TIME SML'CHG: ? "NO SMALL CHANGE,PLEASE" GOTO SUB'MY'BET LBL'2R: IF MONY-MY'BET>=0 THEN GOTO LBL'2T CALL SUB'ZZ CALL NO'MONY GOTO SUB'MY'BET LBL'2T: IF MY'BET>=RAISE'AMT THEN GOTO LBL'2U ? "IF YOU CAN'T SEE MY BET,THEN FOLD" IF RAISE'AMT>0 THEN ? TAB(23,1);:? TAB(-1,9);: & ? USING "CURRENT BET $$###,###,###,###";RAISE'AMT GOTO SUB'MY'BET LBL'2U: MONY=MONY-MY'BET POT=POT+MY'BET CALL SUB'ZZ RAISE'AMT=INT(MY'BET-RAISE'AMT) IF RAISE'AMT=0 THEN RETURN IF VALU(6,5)>1 OR INT(10*RND(1)) > 7 OR BLUFF = 1 THEN & GOTO ALS'RAISE IF VALU(6,5)<>0 THEN GOTO CALL'BET ? TAB(11,1);TAB(-1,10); ? "I FOLD" FOLD = 1 CALL SUB'ZZ RETURN CALL'BET: ? TAB(21,1);" ALPHA WILL CALL YOUR BET"; POT=POT+RAISE'AMT BANK=BANK-RAISE'AMT CALL SUB'ZZ AV=RAISE'AMT ? TAB(21,30); INPUT ""AAAA RETURN ALS'RAISE: ALS'BET=ABS(INT((RAISE'AMT-AV)*RND(1)+((MONY)*RND(1)))) CALL CALC'BANKS IF ALS'BET<=0 THEN GOTO CALL'BET ? TAB(19,1);"ALPHA SEES YOU,AND RAISE YOU"; ? USING "$$##,###,###,###.";ALS'BET POT=POT+RAISE'AMT+ALS'BET BANK=BANK-RAISE'AMT-ALS'BET CALL SUB'ZZ AV=RAISE'AMT+ALS'BET RAISE'AMT=ALS'BET GOTO SUB'MY'BET !***************************************************************************** CALC'BANKS: IF BANK-RAISE'AMT-ALS'BET>=0 THEN RETURN ALS'BET=BANK RETURN !***************************************************************************** NO'MONY: ? TAB(11,1);TAB(-1,10); IF RAISE'AMT>0 THEN ? TAB(23,1);:? TAB(-1,9);:? USING "CURRENT BET $$###,###,###,###";RAISE'AMT ? CHR(7); ? TAB(12,1);"YOU CAN'T BET WITH WHAT YOU HAVEN'T GOT" LBL'3K: IF MY'BET-MONY>50000 THEN GOTO HOUSE'FOR'SALE GOTO CAR'SALE !***************************************************************************** OUT'OF'LUCK: ? "YOU HAVE NEITHER CASH OR ASSETS TO COVER YOUR BET " BL=BL+1 IF BL=3 GOTO OUT'OF'LUCK ? "YOU CAN ONLY PLACE A BAD BET ";3-BL;" MORE TIME" IF BL<2 THEN GOTO LAST'CHANCE IF BALANC > 0 THEN MONY=MONY+BALANC:BALANC=0:?:?:? "YOU LUCKED OUT WE ADDED YOU WINNING FROM LAST GAME TO YOUR BALANCE":?:?:GOTO LBL'4O ? " NOT ONLY HAVE YOU SHOT YOUR WAD!! YOU ALSO PAWNED OFF ALL YOUR ASSETS" ? " SO LONG, SUCKER!!":?:? TAB(-1,10) PLAY$="N":GOTO CASH'OUT !***************************************************************************** CAR'SALE: IF SLD'CAR=1 THEN GOTO HOUSE'FOR'SALE ? "YOUR SHORT OF COVERING THE BET. WANT TO SELL THE PINK SLIP TO YOUR CAR "; INPUT SELL'CAR IF SELL'CAR="N" THEN RETURN IF INT(10*RND(1))>=6 THEN GOTO CAR'HEAP ? "NICE CAR I'LL GIVE YOU $10,000 FOR IT" SLD'CAR=1 MONY=MONY+10000 CALL SUB'ZZ RETURN !***************************************************************************** CAR'HEAP: ? "YOU SHOULD HAVE BURRIED THIS HEAP I'LL GIVE YOU 50 BUCKS" SLD'CAR=1 MONY=MONY+50 CALL SUB'ZZ RETURN !***************************************************************************** HOUSE'FOR'SALE: IF SLD'HSE=1 THEN GOTO SELL'WIFE ? " YOUR REALY OUT OF YOUR LEAGUE NOW. YOU JUST SOLD YOUR HOUSE." IF SLD'HSE=1 THEN GOTO LAST'CHANCE IF INT(10*RND(1))>=6 THEN GOTO HSE'TRASH ? "NICE PLACE I'LL GIVE YOU $200,000 FOR IT." SLD'HSE=1 MONY=MONY+200000 CALL SUB'ZZ RETURN HSE'TRASH: ? "THIS PLACE IS A DUMP I'LL GIVE YOU $25,000 FOR IT" MONY=MONY+25000 CALL SUB'ZZ SLD'HSE=1 RETURN SELL'WIFE: IF SLD'WIF=1 THEN GOTO LAST'CHANCE ? " NOW YOUR REALY IN TROUBLE I'LL GIVE YOU A BREAK - LAST CHANCE - " ? " I'LL BUY YOUR WIFE OFF YOU ! WELL WHAT DO YOU SAY"; INPUT SELL'WIF IF SELL'WIF="N" THEN RETURN SLD'WIF=1 WIF'RATE=INT(10*RND(1)) IF WIF'RATE>6 THEN GOTO FAT'ASS IF WIF'RATE>3 THEN GOTO DOG'FACE ? " HEY SHE'S A BEAUTY MMMMMMM NICE ASS TO I'LL GIVE YOU $1,000,000. FOR HER" MONY=MONY+1000000 CALL SUB'ZZ RETURN FAT'ASS: ? " SHE'S ABOVE AVRAGE BUT SHE HAS A FAT ASS I'LL GIVE YOU $500,000. FOR HER" MONY=MONY+500000 CALL SUB'ZZ SLD'WIF=1 RETURN DOG'FACE: ? " SHE IS A DOG YOU HAD BETTER FOLD SHE'S NOT WORTH $10 " LAST'CHANCE: IF AP>=LOAN THEN CALL SUB'LOAN IF LMT=1 THEN LMT=0:RETURN ? USING "I KNOW A LOAN SHARK. HE'LL LOAN YOU AS MUCH AS $$##,###,###";LOAN ? "THE MORE YOU BORROW THE MORE INTEREST PER HAND" ? USING "YOUR CURRENT CREDIT LINE AVALIBLE IS ##,###,###";LOAN-AP ? USING "HOW MUCH DO YOU WANT AT ##% PER HAND ";INTR*100; INPUT "";BR AP=AP+BR ? TAB(11,1);:? TAB(-1,10); IF BR=0 THEN RETURN IF AP>LOAN THEN GOTO LIMIT'EXCEED LOAN'OUT=1 MONY=MONY+BR CALL SUB'ZZ BL=0 RETURN LIMIT'EXCEED: ? USING "YOU HAVE EXCEEDED YOU CREDIT LIMIT BY $$##,###,###.##";AP-LOAN AP=AP-BR CALL SUB'LOAN GOTO LAST'CHANCE !***************************************************************************** SUB'PAIR'2: ! IS IT 2 PAIR OR 3 OF A KIND FOR SI=AR+2 TO AR+4 IF VALU(SI,3)=VALU(SI-2,3) THEN VALU(AR,5)=5 NEXT SI IF VALU(AR,5)=0 THEN VALU(AR,5)=PAIR RETURN !***************************************************************************** SUB'FULL: ! IS IT A FULL BOAT OF 4 OF A KIND FOR SI=AR+3 TO AR+4 IF VALU(SI,3)=VALU(SI-3,3) THEN VALU(AR,5)=10:HCRD=VALU(SI,3) NEXT SI IF VALU(AR,5)<>10 THEN VALU(AR,5)=8 RETURN !***************************************************************************** BUY'BACK'HSE: BV=200000 FOR AS=1 TO HSE'HND BV=BV+BV*.05 NEXT AS BV=BV-200000 HSE'HND=0 RETURN !***************************************************************************** BUY'BACK'CAR: BV=10000 FOR AS=1 TO CAR'HND BV=BV+BV*.05 NEXT AS BV=BV-10000 CAR'HND=0 RETURN !***************************************************************************** SUB'S: BV=7500 FOR AS=1 TO AK BV=BV+BV*.05 NEXT AS BV=BV-7500 AK=0 RETURN !***************************************************************************** BUY'WIFE'BAK: BV=100000 FOR AS=1 TO WIF'HND BV=BV+BV*.05 NEXT AS BV=BV-100000 WIF'HND=0 RETURN !***************************************************************************** SUB'HND'VLU: !PRINT VALUE OF HAND HCRD=0 !CLEAR VALUES OF HAND STRT=0 FLSH=0 PAIR=0 VALU(AR,5)=0 FOR SI=AR+1 TO AR+4 IF VALU(SI,3)=VALU(SI-1,3) THEN PAIR=PAIR+1:VALU(SI,7)=1:VALU(SI-1,7)=1: & IF VALU(SI,3)>HCRD THEN HCRD=VALU(SI,3) IF VALU(SI,2)=VALU(SI-1,2) THEN FLSH=FLSH+1 IF VALU(SI,3)=VALU(SI-1,3)+1 THEN STRT=STRT+1 NEXT SI IF STRT=4 THEN VALU(AR,5)=VALU(AR,5)+6 !FLAG FLUSH IF FLSH=4 THEN VALU(AR,5)=VALU(AR,5)+7 !FLAG FLUSH IF PAIR=1 THEN VALU(AR,5)=1 !FLAG PAIR IF PAIR=2 THEN CALL SUB'PAIR'2 !2 PAIR OR 3 OF A KIND IF PAIR=3 THEN CALL SUB'FULL !FULL BOAT OR 4 OF A KIND VALU(AR,6)=HCRD IF HCRD=0 THEN VALU(AR,6)=VALU(AR+4,3) RETURN !***************************************************************************** SUB'WI2: IF VALU(AR,5)=1 THEN ? "A PAIR OF "; IF VALU(AR,5)=2 THEN ? "TWO PAIR "; IF VALU(AR,5)=6 THEN ? "STRAIGHT "; IF VALU(AR,5)=5 THEN ? "THREE "; IF VALU(AR,5)=7 THEN ? "FLUSH "; IF VALU(AR,5)=8 THEN ? "FULL BOAT "; IF VALU(AR,5)=10 THEN ? "FOUR "; IF VALU(AR,5)=13 THEN ? "STRAIGHT FLUSH "; AV=VALU(AR,6):CALL FACE ? FAC'VLU; IF VALU(AR,5)/5<>INT(VALU(AR,5)/5) OR VALU(AR,5)=0 OR VALU(AR,5)=6 OR VALU(AR,5)=7 THEN ? " HIGH" ELSE ? "S" RETURN !***************************************************************************** SUB'X: FOR AS=1 TO 10000000 MONX=MONY*.01 MONY=MONY-MONX BANK=BANK+MONX BV=BV-MONX IF BANK>500000 THEN AS=10000000 IF MONY<0 THEN AS=10000000 NEXT AS RETURN !***************************************************************************** SUB'Y: BY=INT(10*RND(1)) IF MONY-AP<50000000 THEN RETURN AB=AB+1 IF BY>6 THEN RETURN IF AB<4 THEN RETURN ? CHR(7);:? CHR(7);:? CHR(7);: ? TAB(-1,0) ? TAB(5,1);: ? " THE TAXMAN IS IN FOR AN AUDIT OF YOUR ACCOUNT" ? " THE DEALER TOLD HIM YOU WON OVER $50,000,000.00 FROM ALPHA " ? " WE LOOKING OVER THE CARDS " XCALL BOX,4,1,8,60 FOR BZ=1 TO 15000 IF BZ=7500 THEN ?:? " WE'RE LOOKING CLOSELY ":? NEXT BZ IF BY<4 THEN GOTO LBL'4R ? " YOU LUCKED OUT THIS TIME BUT WERE WATCHING YOU" AB=0 RETURN !***************************************************************************** SUB'ZZ: ? TAB(20,50);:? TAB(-1,9);"NOW ALPHA HAS"; ? USING "$$###,###,###,###";BANK; ? TAB(21,50);:? TAB(-1,9);"AND YOU HAVE "; ? USING "$$###,###,###,###";MONY ? TAB(22,50);:? TAB(-1,9);"CURRENT POT "; ? USING "$$###,###,###,###";POT ? TAB(19,1); XCALL BOX,19,49,23,80 RETURN !***************************************************************************** SUB'HSY: OPEN #1, JOB$+".POK",INPUT INPUT #1,BALANC CLOSE #1 RETURN !***************************************************************************** LATER'TATER: OPEN #2,JOB$+".POK",OUTPUT BALANC=BALANC+MONY ? #2,BALANC CLOSE #2, END !***************************************************************************** LBL'BOM: ? CHR(7); ? "YOU MUST CHOOSE A NUMBER BETWEEN 1 AND 5" INPUT "ENTER 'CR' TO CONTINUE ";YY ? TAB(-1,3);:? TAB(-1,3);:? TAB(-1,3);:? TAB(-1,10); GOTO BACK'BOM !***************************************************************************** ! SHOW A HEART !***************************************************************************** HEARTS: ? tab(-1,23) ? TAB(X+2,Y); ?" ";tab(-1,49);tab(-1,49);" ";tab(-1,49);tab(-1,49) ? TAB(X+3,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+4,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+5,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+6,Y); ?" ";tab(-1,49) ? tab(-1,24) XCALL BOX,X,Y-1,X+7,Y+11 RETURN !***************************************************************************** ! SHOW A CLUB !***************************************************************************** CLUBS: ? tab(-1,23) ? TAB(X+2,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+3,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+4,Y); ?" ";tab(-1,49);tab(-1,49);" ";tab(-1,49);" ";tab(-1,49);tab(-1,49) ? TAB(X+5,Y); ?" ";tab(-1,49);tab(-1,49);" ";tab(-1,49);" ";tab(-1,49);tab(-1,49) ? TAB(X+6,Y); ?" ";tab(-1,49) ? tab(-1,24) XCALL BOX,X,Y-1,X+7,Y+11 RETURN !***************************************************************************** ! SHOW A DIAMOND !***************************************************************************** DIAMONDS: ? tab(-1,23) ? TAB(X+2,Y); ?" ";tab(-1,49) ? TAB(X+3,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+4,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+5,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+6,Y); ?" ";tab(-1,49) ? tab(-1,24) XCALL BOX,X,Y-1,X+7,Y+11 RETURN !***************************************************************************** ! SHOW A SPADE !***************************************************************************** SPADES: ? tab(-1,23) ? TAB(X+2,Y); ?" ";tab(-1,49) ? TAB(X+3,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+4,Y); ?" ";tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49);tab(-1,49) ? TAB(X+5,Y); ?" ";tab(-1,49);tab(-1,49);" ";tab(-1,49);" ";tab(-1,49);tab(-1,49) ? TAB(X+6,Y); ?" ";tab(-1,49) ? tab(-1,24); XCALL BOX,X,Y-1,X+7,Y+11 RETURN !***************************************************************************** ! SHOW BLANK CARDS !***************************************************************************** BLANK: XCALL BOX,X,Y-1,X+7,Y+11 ? TAB(-1,23); ? TAB(X+1,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(X+2,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(X+3,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(X+4,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(X+5,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(X+6,Y); ?TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49);TAB(-1,49) ? TAB(-1,24); RETURN !***************************************************************************** HELP'ME: ? tab(-1,0); ? tab(3,6);" Welcome to the Alpha Casino Rules are as follows:" ? tab(4,6);" " xcall box,4,4,8,72 ? tab(5,6);" You will start with $5,000,000 and Alpha will have 50,000,000" ? tab(6,6);"Alpha will open the bet before the draw, you will open after." ? tab(7,6);"To FOLD bet 0 to CHECK bet .5" ? tab(9,6);" HEARTS DIAMONDS CLUBS SPADES " X = 11:Y = 7 CALL HEARTS Y = Y + 16 CALL DIAMONDS Y = Y + 16 CALL CLUBS Y = Y + 16 CALL SPADES ? tab(19,6);"" ? tab(20,6);"" ? tab(21,6);"" ? tab(22,6);"" ? TAB(23,1);:INPUT LINE "Enter 'CR' to continue ";ZZZZ ? tab(-1,0); ? tab(3,6);" Welcome to the Alpha Casino Rules are as follows:" ? tab(4,6);" " xcall box,4,4,19,72 ? tab(5,6);" You may draw as many as 4 cards (numbered from 1 to 5)" ? tab(6,6);"after the first round of bets have been called. Alpha has " ? tab(7,6);"been known to bluff on occassion so don't be fooled by his bet." ? tab(8,6);" When you need money to cover a bet Alpha will let you sell a " ? tab(9,6);"few assets. The loan shark will loan you more money and interest" ? tab(10,6);"will be charged on a per hand basis. PAY OFF YOUR LOANS FAST!!" ? tab(11,6);"Alpha will benifit from all loan payoffs. If you have won more" ? tab(12,6);"than $50,000,000 the House may check the cards for cheating" ? tab(13,6);"Severe penalties will be enforced if you are caught cheating" ? tab(14,6);"After you quit your current cash position (including outstanding" ? tab(15,6);"loans) will be saved the next game. If you clean out the house," ? tab(16,6);"Alpha will go to all extents to stay in the game (including " ? tab(17,6);"collecting from prior games losses.) " ? tab(18,6);"Good luck and may the best hand win !!!!" ? TAB(23,1);:INPUT LINE "Enter 'CR' to continue ";ZZZZ RETURN !***************************************************************************** !***************************************************************************** !*****************************************************************************