mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-21 01:26:24 -05:00
343 lines
8.8 KiB
QBasic
343 lines
8.8 KiB
QBasic
|
1010 REM TYPE RUN TO PLAY THE GAME.
|
||
|
1020 LET K1 = 0
|
||
|
1030 PRINT " WELCOME TO MONTE CARLO AND OUR EUROPEAN ROULETTE TABLE."
|
||
|
1040 PRINT " I WISH YOU THE BEST OF LUCK."
|
||
|
1050 PRINT
|
||
|
1060 PRINT
|
||
|
1070 PRINT "DO YOU WANT INSTRUCTIONS";
|
||
|
1080 INPUT Z$
|
||
|
1090 IF Z$ = "NO" THEN 1800
|
||
|
1100 IF Z$ = "YES" THEN 1130
|
||
|
1110 GOSUB 2790
|
||
|
1120 GO TO 1070
|
||
|
1130 PRINT " THIS IS A GAME OF ROULETTE. YOU ARE ALLOWED TO BET"
|
||
|
1140 PRINT "AN ODD OR EVEN NUMBER AND/OR A BLACK OR RED NUMBER AND/OR"
|
||
|
1150 PRINT "A COLUMN OF NUMBERS AND/OR A NUMBER ITSELF. NUMBERS RANGE"
|
||
|
1160 PRINT "FROM 0 TO 36. IF 0 APPEARS, THE BANK COLLECTS ALL BETS"
|
||
|
1170 PRINT "EXCEPT THOSE BET ON THE NUMBER 0. THE PAYOFFS ARE AS FOLLOWS"
|
||
|
1180 PRINT,"ODD OR EVEN = 1 TO 1"
|
||
|
1190 PRINT,"RED OR BLACK = 1 TO 1"
|
||
|
1200 PRINT, "A COLUMN = 2 TO 1"
|
||
|
1210 PRINT, "A NUMBER = 35 TO 1"
|
||
|
1220 PRINT " YOU ARE ALLOWED TO BET FROM $1 TO $10000, BUT THE";
|
||
|
1230 PRINT " TABLE WILL ONLY ACCEPT BETS OF WHOLE DOLLARS (NO CENTS)."
|
||
|
1240 PRINT
|
||
|
1250 PRINT " WOULD YOU LIKE TO SEE A PICTURE OF THE GAMBLING TABLE";
|
||
|
1260 INPUT Z1$
|
||
|
1270 IF Z1$ = "NO" THEN 1800
|
||
|
1280 IF Z1$ = "YES" THEN 1320
|
||
|
1290 GOSUB 2790
|
||
|
1300 GO TO 1250
|
||
|
1310 PRINT
|
||
|
1320 PRINT
|
||
|
1330 PRINT" BELOW IS THE PICTURE OF OUR GAMBLING TABLE."
|
||
|
1340 PRINT
|
||
|
1350 PRINT
|
||
|
1360 PRINT, " ***********"
|
||
|
1370 PRINT, " * O *"
|
||
|
1375 LET U$ = "*******************"
|
||
|
1380 PRINT,U$
|
||
|
1390 PRINT,"* 1 * 2 * 3 *"
|
||
|
1400 PRINT,"* RED *BLACK* RED *"
|
||
|
1410 PRINT,U$
|
||
|
1420 PRINT,"* 4 * 5 * 6 *"
|
||
|
1430 PRINT,"*BLACK* RED *BLACK*"
|
||
|
1440 PRINT,U$
|
||
|
1450 PRINT,"* 7 * 8 * 9 *"
|
||
|
1460 PRINT,"* RED *BLACK* RED *"
|
||
|
1470 PRINT,U$
|
||
|
1480 PRINT,"* 10 * 11 * 12 *"
|
||
|
1490 PRINT,"*BLACK*BLACK* RED *"
|
||
|
1500 PRINT,U$
|
||
|
1510 PRINT,"* 13 * 14 * 15 *"
|
||
|
1520 PRINT,"*BLACK* RED *BLACK*"
|
||
|
1530 PRINT,U$
|
||
|
1540 PRINT,"* 16 * 17 * 18 *"
|
||
|
1550 PRINT,"* RED *BLACK* RED *"
|
||
|
1560 PRINT,U$
|
||
|
1570 PRINT,"* 19 * 20 * 21 *"
|
||
|
1580 PRINT,"* RED *BLACK* RED *"
|
||
|
1590 PRINT,U$
|
||
|
1600 PRINT,"* 22 * 23 * 24 *"
|
||
|
1610 PRINT,"*BLACK* RED *BLACK*"
|
||
|
1620 PRINT,U$
|
||
|
1630 PRINT,"* 25 * 26 * 27 *"
|
||
|
1640 PRINT,"* RED * RED *BLACK*"
|
||
|
1650 PRINT,U$
|
||
|
1660 PRINT,"* 28 * 29 * 30 *"
|
||
|
1670 PRINT,"*BLACK*BLACK* RED *"
|
||
|
1680 PRINT,U$
|
||
|
1690 PRINT,"* 31 * 32 * 33 *"
|
||
|
1700 PRINT,"*BLACK* RED *BLACK*"
|
||
|
1710 PRINT,U$
|
||
|
1720 PRINT,"* 34 * 35 * 36 *"
|
||
|
1730 PRINT,"* RED *BLACK* RED *"
|
||
|
1740 PRINT,U$
|
||
|
1750 PRINT, "*COL.1*COL.2*COL 3*"
|
||
|
1760 PRINT,U$
|
||
|
1800 PRINT
|
||
|
1810 PRINT
|
||
|
1820 PRINT
|
||
|
1830 PRINT "DO YOU WANT TO BET AN ODD OR EVEN NUMBER";
|
||
|
1840 INPUT A$
|
||
|
1850 IF A$ = "NO" THEN 2050
|
||
|
1860 IF A$ = "YES" THEN 1890
|
||
|
1870 GOSUB 2790
|
||
|
1880 GO TO 1830
|
||
|
1890 PRINT "ODD OR EVEN";
|
||
|
1900 INPUT B$
|
||
|
1910 IF B$ = "ODD"THEN 1950
|
||
|
1920 IF B$ = "EVEN"THEN 1950
|
||
|
1930 PRINT "PLEASE TYPE ODD OR EVEN"
|
||
|
1940 GO TO 1890
|
||
|
1950 PRINT "HOW MUCH DO YOU WANT TO BET";
|
||
|
1960 INPUT H
|
||
|
1970 IF H <= 10000 THEN 2000
|
||
|
1980 GOSUB 2810
|
||
|
1990 GO TO 1950
|
||
|
2000 FOR H1 = 0 TO 10000
|
||
|
2010 IF H1 = H THEN 2060
|
||
|
2020 NEXT H1
|
||
|
2030 GOSUB 2840
|
||
|
2040 GO TO 1950
|
||
|
2050 LET H = 0
|
||
|
2060 PRINT
|
||
|
2070 PRINT "DO YOU WANT TO BET A RED OR BLACK NUMBER";
|
||
|
2080 INPUT C$
|
||
|
2090 IF C$ = "NO" THEN 2290
|
||
|
2100 IF C$ = "YES" THEN 2130
|
||
|
2110 GOSUB 2790
|
||
|
2120 GO TO 2070
|
||
|
2130 PRINT "RED OR BLACK";
|
||
|
2140 INPUT D$
|
||
|
2150 IF D$ = "RED" THEN 2190
|
||
|
2160 IF D$ = "BLACK"THEN 2190
|
||
|
2170 PRINT "PLEASE TYPE RED OR BLACK."
|
||
|
2180 GO TO 2130
|
||
|
2190 PRINT "HOW MUCH DO YOU WANT TO BET";
|
||
|
2200 INPUT I
|
||
|
2210 IF I <= 10000 THEN 2040
|
||
|
2220 GOSUB 2810
|
||
|
2230 GO TO 2190
|
||
|
2240 FOR I2 = 0 TO 10000
|
||
|
2250 IF I2 = I THEN 2300
|
||
|
2260 NEXT I2
|
||
|
2270 GOSUB 2840
|
||
|
2280 GO TO 2190
|
||
|
2290 LET I = 0
|
||
|
2300 PRINT
|
||
|
2310 PRINT "DO YOU WANT TO BET A COLUMN OF NUMBERS";
|
||
|
2320 INPUT B1$
|
||
|
2330 IF B1$ = "NO" THEN 2530
|
||
|
2340 IF B1$ = "YES" THEN 2370
|
||
|
2350 GOSUB 2790
|
||
|
2360 GO TO 2310
|
||
|
2370 PRINT "COLUMN 1, 2, OR 3";
|
||
|
2380 INPUT B2
|
||
|
2390 IF B2 = 1 THEN 2440
|
||
|
2400 IF B2 = 2 THEN 2440
|
||
|
2410 IF B2 = 3 THEN 2440
|
||
|
2420 PRINT "PLEASE TYPE 1, 2, OR 3."
|
||
|
2430 GO TO 2370
|
||
|
2440 PRINT "HOW MUCH DO YOU WANT TO BET";
|
||
|
2450 INPUT B8
|
||
|
2460 IF B8 <= 10000 THEN 2490
|
||
|
2470 GOSUB 2810
|
||
|
2480 GO TO 2440
|
||
|
2490 FOR B9 = 0 TO 10000
|
||
|
2500 IF B8 = B9 THEN 2540
|
||
|
2510 NEXT B9
|
||
|
2520 GO TO 2440
|
||
|
2530 LET B8 = 0
|
||
|
2540 PRINT
|
||
|
2550 PRINT "DO YOU WANT TO BET A NUMBER";
|
||
|
2560 INPUT E$
|
||
|
2570 IF E$ = "NO" THEN 2870
|
||
|
2580 IF E$ = "YES" THEN 2610
|
||
|
2590 GOSUB 2790
|
||
|
2600 GO TO 2550
|
||
|
2610 PRINT "WHAT IS YOUR NUMBER";
|
||
|
2620 INPUT F
|
||
|
2630 FOR M = 0 TO 36
|
||
|
2640 IF F = M THEN 2690
|
||
|
2650 NEXT M
|
||
|
2660 PRINT "THAT IS AN ILLEGAL NUMBER"
|
||
|
2670 PRINT "YOU ARE ONLY ALLOWED TO BET INTEGERS RANGING FROM 0 TO 36"
|
||
|
2680 GO TO 2610
|
||
|
2690 PRINT "HOW MUCH DO YOU WANT TO BET";
|
||
|
2700 INPUT G
|
||
|
2710 IF G <= 10000 THEN 2740
|
||
|
2720 GOSUB 2810
|
||
|
2730 GO TO 2690
|
||
|
2740 FOR G9 = 0 TO 10000
|
||
|
2750 IF G = G0 THEN 2880
|
||
|
2760 NEXT G9
|
||
|
2770 GOSUB 2840
|
||
|
2780 GO TO 2690
|
||
|
2790 PRINT "PLEASE TYPE YES OR NO."
|
||
|
2800 RETURN
|
||
|
2810 PRINT "SORRY, BUT THE TABLE CANNOT ACCEPT A BET OF THAT MUCH";
|
||
|
2820 PRINT " MONEY."
|
||
|
2830 RETURN
|
||
|
2840 PRINT "SORRY, BUT YOU CAN ONLY BET IN $1 INCREMENTS FROM $1 TO";
|
||
|
2850 PRINT " $10000."
|
||
|
2860 RETURN
|
||
|
2870 LET G = 0
|
||
|
2880 PRINT
|
||
|
2890 RANDOMIZE
|
||
|
2900 LET T = INT(37*RND)
|
||
|
2910 PRINT "THE NUMBER IS ";
|
||
|
2920 LET T1 = INT(T/10)+1
|
||
|
2930 ON T1 GO TO 2940,2950,2960,2970
|
||
|
2940 ON T+1 GO TO 3530,3350,3430,3390,3410,3370,3450,3350,3430,3390
|
||
|
2950 ON T-9 GO TO 3410,3490,3330,3470,3310,3510,3290,3490,3330,3350
|
||
|
2960 ON T-19 GO TO 3430,3390,3410,3370,3450,3350,3310,3510,3410,3490
|
||
|
2970 ON T-29 GO TO 3330,3470,3310,3510,3290,3490,3330
|
||
|
3290 PRINT T;" RED, EVEN, COLUMN 1"
|
||
|
3300 GOTO 3540
|
||
|
3310 PRINT T;" RED, EVEN, COLUMN 2"
|
||
|
3320 GOTO 3540
|
||
|
3330 PRINT T;" RED, EVEN, COLUMN 3"
|
||
|
3340 GOTO 3540
|
||
|
3350 PRINT T;" RED, ODD, COLUMN 1"
|
||
|
3360 GOTO 3540
|
||
|
3370 PRINT T;" RED, ODD, COLUMN 2"
|
||
|
3380 GOTO 3540
|
||
|
3390 PRINT T;" RED, ODD, COLUMN 3"
|
||
|
3400 GOTO 3540
|
||
|
3410 PRINT T;" BLACK, EVEN, COLUMN 1"
|
||
|
3420 GOTO 3540
|
||
|
3430 PRINT T; " BLACK, EVEN, COLUMN 2"
|
||
|
3440 GOTO 3540
|
||
|
3450 PRINT T; " BLACK, EVEN, COLUMN 3"
|
||
|
3460 GOTO 3540
|
||
|
3470 PRINT T; " BLACK, ODD, COLUMN 1"
|
||
|
3480 GOTO 3540
|
||
|
3490 PRINT T; " BLACK, ODD, COLUMN 2"
|
||
|
3500 GOTO 3540
|
||
|
3510 PRINT T; " BLACK, ODD, COLUMN 3"
|
||
|
3520 GOTO 3540
|
||
|
3530 PRINT T
|
||
|
3540 IF G = 0 THEN 3610
|
||
|
3550 IF T = F THEN 3590
|
||
|
3560 PRINT " YOU LOSE $"G" FOR YOUR NUMBER BET."
|
||
|
3570 LET G = -G
|
||
|
3580 GO TO 3610
|
||
|
3590 PRINT " YOU WIN $"35*G" FOR YOUR NUMBER BET."
|
||
|
3600 LET G = 35*G
|
||
|
3610 IF H = 0 THEN 3800
|
||
|
3620 IF T = 0 THEN 3710
|
||
|
3630 IF B$ = "EVEN" THEN 3680
|
||
|
3640 FOR X = 1 TO 35 STEP 2
|
||
|
3650 IF T = X THEN 3750
|
||
|
3660 NEXT X
|
||
|
3670 GO TO 3710
|
||
|
3680 FOR X1 = 2 TO 36 STEP 2
|
||
|
3690 IF T = X1 THEN 3750
|
||
|
3700 NEXT X1
|
||
|
3710 PRINT " YOU LOSE $"H;
|
||
|
3720 GOSUB 3780
|
||
|
3730 LET H = -H
|
||
|
3740 GO TO 3800
|
||
|
3750 PRINT " YOU WIN $"H;
|
||
|
3760 GOSUB 3780
|
||
|
3770 GO TO 3800
|
||
|
3780 PRINT "FOR YOUR ODD-EVEN BET."
|
||
|
3790 RETURN
|
||
|
3800 IF I = 0 THEN 4080
|
||
|
3810 IF T = 0 THEN 3980
|
||
|
3820 FOR A1 = 1 TO 9 STEP 2
|
||
|
3830 IF T = A1 THEN 3970
|
||
|
3840 NEXT A1
|
||
|
3850 FOR A2 = 12 TO 18 STEP 2
|
||
|
3860 IF T = A2 THEN 3970
|
||
|
3870 NEXT A2
|
||
|
3880 FOR A3 = 19 TO 25 STEP 2
|
||
|
3890 IF T= A3 THEN 3970
|
||
|
3900 NEXT A3
|
||
|
3910 FOR A4 = 30 TO 36 STEP 2
|
||
|
3920 IF T = A4 THEN 3970
|
||
|
3930 NEXT A4
|
||
|
3940 IF T = 26 THEN 3970
|
||
|
3950 IF D$ = "BLACK" THEN 4020
|
||
|
3960 GO TO 3980
|
||
|
3970 IF D$ = "RED" THEN 4020
|
||
|
3980 PRINT " YOU LOSE $"I;
|
||
|
3990 GOSUB 4060
|
||
|
4000 LET I = -I
|
||
|
4010 GO TO 4080
|
||
|
4020 PRINT " YOU WIN $";
|
||
|
4030 PRINT I;
|
||
|
4040 GOSUB 4060
|
||
|
4050 GO TO 4080
|
||
|
4060 PRINT "FOR YOUR RED-BLACK BET."
|
||
|
4070 RETURN
|
||
|
4080 IF B8 = 0 THEN 4340
|
||
|
4090 IF T = 0 THEN 4300
|
||
|
4100 FOR B3 = 1 TO 34 STEP 3
|
||
|
4110 IF T = B3 THEN 4190
|
||
|
4120 NEXT B3
|
||
|
4130 FOR B4 = 2 TO 35 STEP 3
|
||
|
4140 IF T = B4 THEN 4210
|
||
|
4150 NEXT B4
|
||
|
4160 FOR B5 = 3 TO 36 STEP 3
|
||
|
4170 IF T = B5 THEN 4230
|
||
|
4180 NEXT B5
|
||
|
4190 IF B2 = 1 THEN 4250
|
||
|
4200 IF B2 <> 1 THEN 4300
|
||
|
4210 IF B2 = 2 THEN 4250
|
||
|
4220 IF B2 <> 2 THEN 4300
|
||
|
4230 IF B2 = 3 THEN 4250
|
||
|
4240 IF B2 <> 3 THEN 4300
|
||
|
4250 PRINT " YOU WIN $";
|
||
|
4260 PRINT 2*B8;
|
||
|
4270 PRINT "FOR YOUR COLUMN BET."
|
||
|
4280 LET B8 = 2*B8
|
||
|
4290 GO TO 4340
|
||
|
4300 PRINT " YOU LOSE $";
|
||
|
4310 PRINT B8;
|
||
|
4320 PRINT "FOR YOUR COLUMN BET."
|
||
|
4330 LET B8 = -B8
|
||
|
4340 PRINT
|
||
|
4350 LET K = (G) + (H) + (I) + (B8)
|
||
|
4360 IF K < 0 THEN 4400
|
||
|
4370 IF K = 0 THEN 4420
|
||
|
4380 IF K > 0 THEN 4440
|
||
|
4390 GO TO 4450
|
||
|
4400 PRINT " YOU LOST $" ABS(K)" ON THIS ROUND."
|
||
|
4410 GO TO 4450
|
||
|
4420 PRINT " YOU BROKE EVEN THIS TIME."
|
||
|
4430 GO TO 4450
|
||
|
4440 PRINT " YOU WON $"K" ON THIS ROUND."
|
||
|
4450 PRINT
|
||
|
4460 PRINT
|
||
|
4470 LET K1 = K1 + K
|
||
|
4480 IF K1 < 0 THEN 4510
|
||
|
4490 IF K1 = 0 THEN 4530
|
||
|
4500 IF K1 > 0 THEN 4550
|
||
|
4510 PRINT " YOU HAVE LOST A TOTAL OF $"ABS(K1)" THUS FAR."
|
||
|
4520 GO TO 4570
|
||
|
4530 PRINT " THUS FAR YOU HAVE BROKEN EVEN."
|
||
|
4540 GO TO 4570
|
||
|
4550 PRINT " YOU HAVE WON A TOTAL OF $"K1" THUS FAR."
|
||
|
4560 GO TO 4570
|
||
|
1570 PRINT
|
||
|
4580 PRINT " DO YOU WANT TO PLAY AGAIN";
|
||
|
4590 INPUT M$
|
||
|
4600 IF M$ = "NO" THEN 4640
|
||
|
4610 IF M$ = "YES" THEN 1800
|
||
|
4620 PRINT "PLEASE TYPE YES OR NO."
|
||
|
4630 GO TO 4580
|
||
|
4640 PRINT
|
||
|
4650 PRINT " THANKS FOR PLAYING."
|
||
|
4660 IF K1 < 0 THEN 4690
|
||
|
4670 IF K1 = 0 THEN 4710
|
||
|
4680 IF K1 > 0 THEN 4740
|
||
|
4690 PRINT " YOU LOST $" ABS(K1);", BETTER LUCK NEXT TIME."
|
||
|
4700 GO TO 4750
|
||
|
4710 PRINT " YOU BROKE EVEN TODAY, MAYBE NEXT TIME YOU WILL WIN";
|
||
|
4720 PRINT " A FORTUNE."
|
||
|
4730 GO TO 4750
|
||
|
4740 PRINT " CONGRATULATIONS, YOU BEAT THE ODDS. YOU WON $"K1"TODAY."
|
||
|
4750 END
|