Listing of file='ROULETTE' on disk='vmedia/gamesall.wvd.zip'
# Sector 577, program filename = 'ROULETTE' 0010 REM * ROULETTE * - (VERSION 1.2); ADAPTED BY JOEL EHRLICH FROM AN ORIGINA L HP-2000 PROGRAM CREATED BY GLEN COPELAND : DIM A$2,F$5,N$1,Z$1,A(24),K$1,S$2 : LET S=-1 : SELECT PRINT 005(64),P 0020 PRINT HEX(030A0A0A0A0A);TAB(25);"ROULETTE"; : FOR X=1TO 350 : NEXT X : PRINT HEX(0D0A0A);TAB(22);"A GAME OF CHANCE";HEX(0D0A0A);TAB(17); 0030 INPUT "DO YOU WANT INSTRUCTIONS",K$ : IF K$="Y"THEN 40 : IF K$="N"THEN 620 : PRINT HEX(0307);"ANSWER 'YES' OR 'NO'" : FOR X=1TO 250 : NEXT X : GOTO 30 : REM %INSTRUCTIONS 0040 PRINT HEX(03);"THIS IS ROULETTE, A GAME IN WHICH A LARGE FLAT WHEEL, MOUN TED HORIZONTALLY, IS SPUN TO DECIDE THE WINNER."; 0050 PRINT "THE WHEEL HAS 38 DEPRESSIONS AROUND ITS PERIPHERY, EACH OF WHICHIS NUMBERED (1 TO 36 PLUS 0 & 00)."; 0060 PRINT "EACH NUMBER IS COLORED RED OR BLACK EXCEPT FOR 0 & 00 (THEY ARE BO TH GREEN). THE WHEEL IS SPUN TO PLAY EACH GAME."; 0070 PRINT "A SMALL METAL BALL IS ROLLED SWIFTLY IN THE OPPOSITE DIRECTION IN A RAISED HORIZONTAL GROOVE AT THE VERY EDGE OF THE WHEEL."; 0080 PRINT "WHEN THE BALL SLOWS DOWN ENOUGH SO THAT IT CANNOT STAY UP IN THEGR OOVE, GRAVITY PULLS IT DOWN SO THAT IT ROLLS OVER THE NUMBEREDDEPRESSIONS ."; 0090 PRINT "IN TIME, IT STOPS IN ONE OF THE DEPRESSIONS - THAT IS THE WI NNING NUMBER!" 0100 PRINT "0 & 00 ARE 'HOUSE' NUMBERS, YOU ALWAYS LOSE IF THEY COME UP." : PRINT "PRESS 'EXECUTE' TO CONTINUE." 0110 KEYIN K$,120,110 : GOTO 110 0120 PRINT HEX(03);"THERE ARE SEVERAL WAYS OF WINNING, THEY ARE DESCRIBED BELO W."; 0130 PRINT "THE BETTING TABLE SHOULD BE AVAILABLE WHEN YOU PLACE YOUR BETS, IT TOO IS DESCRIBED BELOW. THE GAME STARTS WITH YOUR ENTRY OF THE AMOUNT OF MONEY YOU HAVE."; 0140 PRINT "YOU THEN ENTER THE AMOUNT OF MONEY YOU WISH TO BET AND SELECT TH E METHOD OF BETTING YOU WISH TO USE FOR EACH PLAY."; 0150 PRINT "THE PROGRAM SPINS THE WHEEL AND ANNOUNCES YOUR WIN OR LOSS. THE PR OGRAM IS DESIGNED TO GIVE YOU TEN PLAYS BEFORE IT ASKS IF YOU WISH TO CON TINUE."; 0160 PRINT "HOWEVER, IF YOU RUN OUT OF MONEY, THE GAME IS OVER. YOU MAY ALSOEL ECT TO END THE GAME EARLY - SIMPLY ENTER A BET OF 0."; 0170 PRINT "*ANY ANSWER MAY CONSIST OF ONLY THE FIRST LETTER OF THE RESPONSEWO RD.*" : PRINT "PRESS 'EXECUTE' TO CONTINUE." 0180 KEYIN K$,190,180 : GOTO 180 0190 PRINT HEX(03) : INPUT "DO YOU WANT A HARD COPY PRINTOUT OF THE BETTING TABLE",K$ : IF K$="N"THEN 470 : IF K$<>"Y"THEN 190 : PRINT HEX(03) : INPUT "DO YOU HAVE A TYPEWRITER OR A LINE PRINTER",K$ 0200 IF K$="T"THEN 210 : PRINT HEX(03);"PRINTOUT..." : SELECT PRINT 215(80) : GOTO 220 0210 PRINT HEX(03);"PRINTOUT..." : SELECT PRINT 211(80) : REM %BETTING TABLE 0220 PRINT TAB(5);HEX(0E);"BETTING TABLE" : PRINT TAB(18);"'R' OR 'RD' INDICATES THE NUMBER IS COLORED RED, 'B' OR 'B L' INDICATES BLACK." : PRINT "THE NUMBERS 0 AND 00 ARE BOTH GREEN." 0230 PRINT TAB(26);"*******************" 0240 PRINT TAB(26);"* * *" : PRINT TAB(26);"* 0 * 00 *" : PRINT TAB(26);"* * *" : PRINT TAB(20);"*******************************" : PRINT TAB(20);"* * * * * *" 0250 PRINT TAB(20);"* 1 * 1RD * 2BL * 3RD * 19 *" 0260 PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"* TO ******************* TO *" : PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"* 18 * 4BL * 5RD * 6BL * 36 *" 0270 PRINT TAB(20);"* * * * * *" 0280 PRINT TAB(20);"*******************************" : PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"* 1 * 7RD * 8BL * 9RD * 1 *" : PRINT TAB(20);"* * * * * *" 0290 PRINT TAB(20);"* TO ******************* TO *" 0300 PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"* 12 * 10B * 11B * 12R * 18 *" : PRINT TAB(20);"* * * * * *" : PRINT TAB(14);"*******************************************" 0310 PRINT TAB(14);"* * * * * * * *" 0320 PRINT TAB(14);"* * * 13B * 14R * 15B * * *" : PRINT TAB(14);"* * * * * * * *" : PRINT TAB(14);"* B * ******************* * *" 0330 PRINT TAB(14);"* * * * * * * *" 0340 PRINT TAB(14);"* L * 13 * 16R * 17B * 18R * 13 * R *" : PRINT TAB(14);"* * * * * * * *" : PRINT TAB(14);"* A * TO ******************* TO * E *" 0350 PRINT TAB(14);"* * * * * * * *" 0360 PRINT TAB(14);"* C * 24 * 19R * 20B * 21R * 24 * D *" : PRINT TAB(14);"* * * * * * * *" : PRINT TAB(14);"* K * ******************* * *" 0370 PRINT TAB(14);"* * * * * * * *" 0380 PRINT TAB(14);"* * * 22B * 23R * 24B * * *" : PRINT TAB(14);"* * * * * * * *" : PRINT TAB(14);"*******************************************" 0390 PRINT TAB(20);"* * * * * *" 0400 PRINT TAB(20);"* 25 * 25R * 26B * 27R * 25 *" : PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"* TO ******************* TO *" : PRINT TAB(20);"* * * * * *" 0410 PRINT TAB(20);"* 36 * 28B * 29B * 30R * 36 *" 0420 PRINT TAB(20);"* * * * * *" : PRINT TAB(20);"*******************************" : PRINT TAB(20);"* E * * * * *" : PRINT TAB(20);"* * 31B * 32R * 33B * O *" 0430 PRINT TAB(20);"* V * * * * *" 0440 PRINT TAB(20);"* ******************* D *" : PRINT TAB(20);"* E * * * * *" : PRINT TAB(20);"* * 34R * 35B * 36R * D *" : PRINT TAB(20);"* N * * * * *" 0450 PRINT TAB(20);"*******************************" : PRINT TAB(26);"* * * *" 0460 PRINT TAB(26);"* COL.* COL.* COL.*" : PRINT TAB(26);"* * * *" : PRINT TAB(26);"* #1 * #2 * #3 *" : PRINT TAB(26);"* * * *" : PRINT TAB(26);"*******************" : PRINT HEX(0C) : SELECT PRINT 005(64) 0470 GOSUB 480 : GOTO 550 : REM %BETTING OPTIONS 0480 PRINT HEX(03);"YOU CAN BET ANY ONE OF 12 WAYS. THE CHOICES ARE:"; 0490 PRINT "(1) YOU CAN BET ON ANY NUMBER." : PRINT "(2) YOU CAN BET ON ANY COLOR." : PRINT "(3) YOU CAN BET ON AN ODD OR EVEN NUMBER." : PRINT "(4) YOU CAN BET ON HIGHS OR LOWS (EXPLAINED LATER)." 0500 PRINT "(5) YOU CAN BET ON 2 NUMBERS (AT THE SAME TIME)." 0510 PRINT "(6) YOU CAN BET ON 3 NUMBERS (TOUCHING)." : PRINT "(7) YOU CAN BET ON 4 NUMBERS (IN A SQUARE)." : PRINT "(8) YOU CAN BET ON 5 NUMBERS (TRANSVERSE LINE ACROSS)." 0520 PRINT "(9) YOU CAN BET ON 6 NUMBERS (2 ROWS ACROSS)." 0530 PRINT "(10) YOU CAN BET ON 24 NUMBERS (TOUCHING)." : PRINT "(11) YOU CAN BET ON COLUMN #1,#2, OR #3 (SEE BETTING TABLE)."; 0540 PRINT "(12) YOU CAN BET ON THE NUMBER TURNING UP BETWEEN 1-12,1-18, 13-24,19-36 OR 25-36 INCLUSIVE." : RETURN 0550 PRINT "PRESS 'EXECUTE' TO CONTINUE." 0560 KEYIN K$,570,560 : GOTO 560 0570 PRINT HEX(03);"IF YOU BET ON HIGHS THE BALL MUST LAND IN A SLOT THAT HAS A"; : PRINT "NUMBER GREATER THAN 18. IF YOU BET ON LOWS THE BALL MUST"; : PRINT "LAND ON 18 OR SMALLER." 0580 PRINT "NOTE: IF YOU BET ON ODDS, EVENS, HIGHS OR LOWS THE NUMBERS"; : PRINT "0 AND 00 DON'T COUNT (IF THE BALL LANDS ON ONE OF THEM YOU LOSE)"; 0590 PRINT HEX(0C);"WHEN ASKED FOR MORE THAN 1 NUMBER, TYPE IN THE NUMBERS SEP ARATEDBY COMMAS."; 0600 PRINT "REMEMBER: THE MORE NUMBERS YOU BET ON AT THE SAME TIME, THE LO WER THE ODDS." : PRINT "PRESS 'EXECUTE' TO CONTINUE." 0610 KEYIN K$,620,610 : GOTO 610 : REM %SET-UP BANK 0620 PRINT HEX(03) : INPUT "HOW MUCH MONEY DO YOU HAVE WITH YOU TODAY",T : T1=T 0630 S=S+1 : IF S=0THEN 640 : IF S/10=INT(S/10)THEN 1160 : REM %BET 0640 PRINT HEX(03) : INPUT "HOW MUCH MONEY DO YOU WANT TO BET THIS TIME",B : IF B<=0THEN 1170 : IF B>TTHEN 650 : GOTO 660 0650 PRINT HEX(0307);"THINK AGAIN! YOU ONLY HAVE";T;"DOLLARS" : FOR X=1TO 250 : NEXT X : GOTO 640 : REM %GO 0660 GOSUB 870 : PRINT HEX(03);"RIEN D'TOUT!"; : FOR X=1TO 100 : NEXT X : PRINT " NO MORE BETS!!" : A$="00" 0670 X=INT(RND(1)*40) : IF X<1THEN 670 : IF X>38THEN 670 : REM %DISPLAY 0680 FOR P=1TO 150 : NEXT P : SELECT PRINT 405 : PRINT HEX(030A0A0A0A0A2020202020202020202020202020202020202020202020202D2 D2D2D2D2D2D087C0A087C0A087C080808080808082D2D2D2D2D2D08080808080808); : PRINT HEX(0C0C7C080A7C080A7C080C090909); 0690 N8=INT(RND(1)*40) : IF N8<1THEN 690 : IF N8>40THEN 690 0700 N9=INT(RND(1)*10) : IF N9<2THEN 700 : IF N9>8THEN 700 : FOR Y=1TO N9 : FOR Y5=1TO N8 0710 INIT(20)S$ : READ S1 : IF S1=9999THEN 730 : IF S1=999THEN 720 : IF S1=-1THEN 740 : CONVERT S1TO S$,(##) : GOTO 750 0720 S$=HEX(2020) : PRINT S$;HEX(08) : GOTO 760 0730 S$=HEX(2020) : PRINT S$;HEX(08) : RESTORE : GOTO 710 0740 S$=HEX(3030) 0750 PRINT S$;HEX(0808) 0760 NEXT Y5 : NEXT Y 0770 FOR Y=1TO X : INIT(20)S$ : READ S1 : IF S1=9999THEN 790 : IF S1=999THEN 780 : IF S1=-1THEN 800 : CONVERT S1TO S$,(##) : GOTO 810 0780 S$=HEX(2020) : PRINT S$;HEX(08) : S1=0 : NEXT Y : GOTO 820 0790 RESTORE : S1=-1 : GOTO 770 0800 S$=HEX(3030) 0810 PRINT S$;HEX(0808) : FOR P=1TO INT(RND(1)*25) : NEXT P : NEXT Y 0820 SELECT P,PRINT 005 : FOR Y=1TO 150 : NEXT Y : IF S1=-1THEN 840 : REM %WINNING NUMBER 0830 GOTO 860 0840 PRINT HEX(03);"THE NUMBER IS ";A$;" THE COLOR IS "; : REM %GREEN! A LOSER 0850 PRINT "GREEN" : FOR X=1TO 350 : NEXT X : ON ZGOTO 1010,1070,1020,1020,1260,1260,1260,1260,1260,1260,1020,1020 0860 PRINT HEX(03);"THE NUMBER IS";S1;"THE COLOR IS "; : GOTO 1090 : REM %SELECT METHOD 0870 PRINT HEX(03) : GOSUB 480 : INPUT "WHICH METHOD OF BETTING DO YOU PREFER",Z : IF Z<1THEN 880 : IF Z>12THEN 880 : ON ZGOSUB 890,910,940,970,1210,1210,1210,1210,1210,1210,1270,1330 : RETURN 0880 PRINT HEX(0307);"TYPE IN THE NUMBER OF THE METHOD YOU PREFER (1-12)" : FOR X=1TO 250 : NEXT X : GOTO 870 0890 PRINT HEX(03) : INPUT "ON WHICH NUMBER DO YOU WANT TO BET",N : IF N<1THEN 900 : IF N>36THEN 900 : RETURN : REM %ONE NUMBER 0900 PRINT HEX(0307);"TYPE IN YOUR NUMBER (1 TO 36) " : FOR X=1TO 250 : NEXT X : GOTO 890 : REM %RED/BLACK 0910 PRINT HEX(03) : INPUT "WHICH COLOR DO YOU WANT",Z$ : IF Z$="R"THEN 920 : IF Z$<>"B"THEN 930 0920 RETURN 0930 PRINT HEX(0307);"YOU HAVE A CHOICE OF 'RED' OR 'BLACK'" : FOR X=1TO 250 : NEXT X : GOTO 910 : REM %ODD/EVEN 0940 PRINT HEX(03) : INPUT "DO YOU WANT 'ODDS' OR 'EVENS'",N$ : IF N$="O"THEN 950 : IF N$<>"E"THEN 960 0950 RETURN 0960 PRINT HEX(0307);"TYPE IN 'ODDS' OR 'EVENS'" : FOR X=1TO 250 : NEXT X : GOTO 940 : REM %HIGH/LOW 0970 PRINT HEX(03) : INPUT "DO YOU WANT HIGHS OR LOWS",H$ : IF H$="H"THEN 980 : IF H$="L"THEN 980 : PRINT HEX(0307);"TYPE IN 'HIGHS' OR 'LOWS'" : FOR X=1TO 250 : NEXT X : GOTO 970 0980 RETURN 0990 IF H$="H"THEN 1000 : IF S1>18THEN 1020 : GOTO 1490 1000 IF S1<=18THEN 1020 : GOTO 1490 1010 IF S1=NTHEN 1490 : REM %YOU LOSE! 1020 PRINT HEX(030A0A0A);"YOU LOOSE!"; : FOR X=1TO 100 : NEXT X : PRINT " YOU JUST LOST";B;"DOLLARS" : T=T-B : GOTO 1040 1030 PRINT "YOU NOW HAVE ";T;"DOLLARS" : FOR X=1TO 350 : NEXT X : GOTO 630 1040 PRINT "YOU HAVE ";T;"DOLLARS LEFT" : FOR X=1TO 350 : NEXT X : IF T<=0THEN 1140 : GOTO 630 1050 GOTO 1020 1060 IF N$="O"THEN 1080 : IF S1/2=INT(S1/2)THEN 1490 1070 GOTO 1020 1080 IF S1/2<>INT(S1/2)THEN 1490 : GOTO 1020 : REM %WINNING COLOR 1090 IF S1=0THEN 850 : IF S1=1THEN 1110 : IF S1=3THEN 1110 : IF S1=5THEN 1110 : IF S1=7THEN 1110 : IF S1=9THEN 1110 : IF S1=12THEN 1110 : IF S1=14THEN 1110 : IF S1=16THEN 1110 : IF S1=18THEN 1110 : IF S1=19THEN 1110 : IF S1=21THEN 1110 : IF S1=23THEN 1110 : IF S1=25THEN 1110 : IF S1=27THEN 1110 1100 IF S1=30THEN 1110 : IF S1=32THEN 1110 : IF S1=34THEN 1110 : IF S1=36THEN 1110 : PRINT "BLACK" : FOR X=1TO 350 : NEXT X : ON ZGOTO 1010,1130,1060,990,1260,1260,1260,1260,1260,1260,1290,1370 1110 PRINT "RED" : FOR X=1TO 350 : NEXT X : ON ZGOTO 1010,1120,1060,990,1260,1260,1260,1260,1260,1260,1290,1370 1120 IF Z$="R"THEN 1490 : GOTO 1020 1130 IF Z$="B"THEN 1490 : GOTO 1020 : REM %MONEY GONE! 1140 PRINT HEX(03070A0A0A0A);TAB(15);"YOU JUST RAN OUT OF MONEY!" : FOR X=1TO 400 : NEXT X : GOTO 1170 : REM %THE 'WHEEL' 1150 DATA 11,1,7,8,2,23,32,26,27,20,10,14,3,35,31,22,5,-1,999 : DATA 17,34,21,12,36,18,24,19,4,29,15,9,28,16,30,33,6,13,25,0,9999 : REM %10 MORE SPINS? 1160 PRINT HEX(03) : INPUT "DO YOU WANT TO SPIN THE WHEEL 10 MORE TIMES",K$ : IF K$="Y"THEN 640 : IF K$="N"THEN 1170 : PRINT HEX(0307);"TYPE IN A 'YES' OR A 'NO'" : FOR X=1TO 250 : NEXT X : GOTO 1160 : REM %END 1170 PRINT HEX(030A0A0A);"AFTER COMING WITH";T1;"DOLLARS AND SPINNING THE WHEE L";S; 1180 PRINT "TIMES YOU LEAVE WITH";T;"DOLLARS"; : PRINT "***************************************************************"; : PRINT TAB(23);"HOPE YOU HAD FUN!!"; 1190 PRINT "***************************************************************"; : PRINT TAB(25);"COME BACK SOON!!!!"; 1200 PRINT "***************************************************************"; : END 1210 A5=2 : IF Z<6THEN 1220 : A5=3 : IF Z<7THEN 1220 : A5=4 : IF Z<8THEN 1220 : A5=5 : IF Z<9THEN 1220 : A5=6 : IF Z<10THEN 1220 : A5=24 : REM %MULTIPLE NUMBERS 1220 PRINT HEX(03);"ON WHAT";A5;"NUMBERS DO YOU WANT TO BET" : MAT INPUT A(A5) : FOR Z9=1TO A5 1230 IF A(Z9)<1THEN 1240 : IF A(Z9)>36THEN 1240 : NEXT Z9 : GOTO 1250 1240 PRINT HEX(0307);"TYPE IN YOUR";A5;"NUMBERS (1 TO 36 INCLUSIVE)" : FOR X=1TO 250 : NEXT X : GOTO 1210 1250 RETURN 1260 FOR X9=1TO A5 : IF S1=A(X9)THEN 1490 : NEXT X9 : GOTO 1020 : REM %2 COLUMNS 1270 PRINT HEX(03);"WHAT 2 COLUMNS DO YOU WANT (IF YOU WANT JUST 1 COLUMN TYPE IN THE " : INPUT "NUMBER OF THE 1 COLUMN YOU WANT TWICE, EXAMPLE: 1,1)",A3,B3 : IF A3<1THEN 1280 : IF A3>3THEN 1280 : IF B3<1THEN 1280 : IF B3>3THEN 1280 : RETURN 1280 PRINT HEX(0307);"YOU HAVE A CHOICE OF COLUMN #1, #2 OR #3 (REFER TO BETTI NG TABLE)" : FOR X=1TO 250 : NEXT X : GOTO 1270 1290 C3=A3 : D3=B3 1300 FOR Z5=1TO 3 : FOR Z6=Z5TO 36STEP 3 : IF A3=Z5THEN 1310 : GOTO 1320 1310 IF S1=Z6THEN 1490 1320 NEXT Z6 : NEXT Z5 : IF A3=B3THEN 1020 : A3=B3 : GOTO 1300 : REM %GROUPS 1330 PRINT HEX(03);"YOUR CHOICES FOR NUMBERS TO BET ON ARE: A NUMBER BETWEEN 1 -12, 1-18, 13-24, 19-36 OR 25-36." 1340 INPUT "ON WHAT NUMBERS DO YOU WANT TO BET",F$ : IF F$="1-12"THEN 1360 : IF F$="1-18"THEN 1360 : IF F$="13-24"THEN 1360 : IF F$="19-36"THEN 1360 : IF F$="25-36"THEN 1360 1350 PRINT HEX(0307);"TYPE IN '1-12','1-18','13-24','19-36','25-36'" : FOR X=1TO 250 : NEXT X : GOTO 1340 1360 RETURN 1370 IF F$="1-12"THEN 1380 : IF F$="1-18"THEN 1410 : IF F$="13-24"THEN 1450 : IF F$="19-36"THEN 1480 : IF S1>=25THEN 1490 : GOTO 1020 1380 IF S1>=1THEN 1390 : GOTO 1400 1390 IF S1<=12THEN 1490 1400 GOTO 1020 1410 IF S1>=1THEN 1420 : GOTO 1430 1420 IF S1<=18THEN 1440 1430 GOTO 1020 1440 Z=13 : GOTO 1490 1450 IF S1>=13THEN 1460 : GOTO 1470 1460 IF S1<=24THEN 1490 1470 GOTO 1020 1480 IF S1>=19THEN 1440 : GOTO 1020 : REM %YOU WIN! 1490 PRINT HEX(0307);"YOU WIN!!!!" : ON ZGOSUB 1500,1510,1510,1510,1520,1530,1540,1550,1560,1570,1580,1590,15 10 : GOTO 1030 : REM %PAYOFF 1500 T=T+(35*B) : RETURN 1510 T=T+B : RETURN 1520 T=T+(17*B) : RETURN 1530 T=T+(11*B) : RETURN 1540 T=T+(8*B) : RETURN 1550 T=T+(6*B) : RETURN 1560 T=T+(5*B) : RETURN 1570 T=T+(B/2) : RETURN 1580 IF C3=D3THEN 1590 : GOTO 1570 1590 T=T+(2*B) : RETURN 1600 REM $