1
0
mirror of https://github.com/rfivet/BCG101.git synced 2024-11-17 18:06:05 -05:00
BCG101/dec/ROULET.BAS
2024-06-15 10:24:35 +08:00

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