mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-20 17:16:23 -05:00
559 lines
13 KiB
QBasic
559 lines
13 KiB
QBasic
|
1000 A(0)=5
|
||
|
1010 FOR U=1 TO 5
|
||
|
1020 A(U)=7
|
||
|
1030 NEXT U
|
||
|
1040 CHANGE A TO C$
|
||
|
1060DIMA(15,15),T(15,15),F(15,15),S(15,15),L(15,15),K(15,15),H(15,15)
|
||
|
1070 FOR I=1 TO 5
|
||
|
1080 B(I)=0
|
||
|
1090 Q(I)=0
|
||
|
1100 A(I)=0
|
||
|
1110 NEXT I
|
||
|
1120 RANDOM
|
||
|
1130 PRINT "HOW MANY PLAYERS [TYPE: '0' FOR INSTRUCTIONS]";
|
||
|
1140 INPUT P
|
||
|
1150 IF P>15 THEN 1180
|
||
|
1160 IF P=0 THEN 4980
|
||
|
1170 GO TO 1200
|
||
|
1180 GOSUB 5710
|
||
|
1190 GO TO 1130
|
||
|
1200 IF P=.01 THEN 1220
|
||
|
1210 GO TO 1240
|
||
|
1220 GOSUB 5730
|
||
|
1230 GO TO 1140
|
||
|
1240 FOR I=1 TO P
|
||
|
1250 A(1,I)=-5
|
||
|
1260 T(1,I)=-5
|
||
|
1270 T(2,I)=-5
|
||
|
1280 F(1,I)=-5
|
||
|
1290 F(2,I)=-5
|
||
|
1300 S(1,I)=-5
|
||
|
1310 T(3,I)=-5
|
||
|
1320 F(3,I)=-5
|
||
|
1330 F(4,I)=-5
|
||
|
1340 S(2,I)=-5
|
||
|
1350 L(1,I)=-5
|
||
|
1360 Y(I)=-5
|
||
|
1370 C(I)=-5
|
||
|
1380 K(1,I)=0
|
||
|
1390 K(I)=0
|
||
|
1400 M(I)=0
|
||
|
1410 PRINT "NAME";
|
||
|
1420 INPUT N$(I)
|
||
|
1430 IF N$(I)="WHAT?" THEN 1450
|
||
|
1440 GO TO 1470
|
||
|
1450 GOSUB 5580
|
||
|
1460 GO TO 1410
|
||
|
1470 NEXT I
|
||
|
1480 R=0
|
||
|
1490 R=R+1
|
||
|
1495 IF R>13 THEN 6470
|
||
|
1500 PRINT
|
||
|
1510 PRINT
|
||
|
1520 PRINT "ROUND";R
|
||
|
1530 PRINT
|
||
|
1540 FOR I=1 TO P
|
||
|
1550 PRINT
|
||
|
1560 PRINT
|
||
|
1570 PRINT N$(I);"'S TURN"
|
||
|
1580 FOR L=1TO5
|
||
|
1590 A(L)=INT(6*RND(-1)+1)
|
||
|
1600 NEXT L
|
||
|
1605 GOSUB 1610
|
||
|
1607 GO TO 1700
|
||
|
1610 G=0
|
||
|
1620 FOR X=1 TO 5
|
||
|
1630 IF A(X)>=A(X+1) THEN 1680
|
||
|
1640 H=A(X)
|
||
|
1650 A(X)=A(X+1)
|
||
|
1660 A(X+1)=H
|
||
|
1670 G=1
|
||
|
1680 NEXT X
|
||
|
1685 IF G=1 THEN 1610
|
||
|
1690 RETURN
|
||
|
1700 PRINT "YOU HAVE A ";A(1);A(2);A(3);A(4);A(5)
|
||
|
1710 PRINT "THIS IS YOUR 2ND OF 3 ROLLS,"
|
||
|
1720 PRINT "HOW MANY DO YOU WANT TO CHANGE";
|
||
|
1730 INPUT Z
|
||
|
1740 IF Z=.01 THEN 1760
|
||
|
1750 GO TO 1780
|
||
|
1760 GOSUB 5600
|
||
|
1770 GO TO 1730
|
||
|
1780 IF Z=0 THEN 2620
|
||
|
1790 IF Z=5 THEN 1890
|
||
|
1800 FOR S=1 TO Z
|
||
|
1810 PRINT "WHICH";
|
||
|
1820 INPUT B(S)
|
||
|
1830 IF B(S)=.01 THEN 1850
|
||
|
1840 GO TO 1870
|
||
|
1850 GOSUB 5620
|
||
|
1860 GO TO 1810
|
||
|
1870 NEXT S
|
||
|
1880 GO TO 1930
|
||
|
1890 FOR S=1 TO 5
|
||
|
1900 A(S)=INT(6*RND(-1)+1)
|
||
|
1910 NEXT S
|
||
|
1920 GO TO 2050
|
||
|
1930 FOR L=1 TO 5
|
||
|
1940 FOR L1=1 TO 5
|
||
|
1950 IF B(L)=L1 THEN 1970
|
||
|
1960 GO TO 1980
|
||
|
1970 A(L1)=Q(L1)
|
||
|
1980 NEXT L1
|
||
|
1990 NEXT L
|
||
|
2000 FOR S=1 TO 5
|
||
|
2010 IF A(S)=0 THEN 2030
|
||
|
2020 GO TO 2040
|
||
|
2030 A(S)=INT(6*RND(-1)+1)
|
||
|
2040 NEXT S
|
||
|
2050 GOSUB 1610
|
||
|
2140 PRINT "YOU HAVE A ";A(1);A(2);A(3);A(4);A(5)
|
||
|
2150 PRINT "THIS IS YOUR LAST ROLL,"
|
||
|
2160 PRINT "HOW MANY DO YOU WANT TO CHANGE";
|
||
|
2170 INPUT Z
|
||
|
2180 IF Z=.01 THEN 2200
|
||
|
2190 GO TO 2220
|
||
|
2200 GOSUB 5600
|
||
|
2210 GO TO 2170
|
||
|
2220 IF Z=0 THEN 2620
|
||
|
2230 IF Z=5 THEN 2360
|
||
|
2240 FOR E=1 TO 5
|
||
|
2250 B(E)=0
|
||
|
2260 NEXT E
|
||
|
2270 FOR S=1 TO Z
|
||
|
2280 PRINT "WHICH";
|
||
|
2290 INPUT B(S)
|
||
|
2300 IF B(S)=.01 THEN 2320
|
||
|
2310 GO TO 2340
|
||
|
2320 GOSUB 5620
|
||
|
2330 GO TO 2280
|
||
|
2340 NEXT S
|
||
|
2350 GO TO 2400
|
||
|
2360 FOR S=1 TO 5
|
||
|
2370 A(S)=INT(6*RND(-1)+1)
|
||
|
2380 NEXT S
|
||
|
2390 GO TO 2520
|
||
|
2400 FOR L=1 TO 5
|
||
|
2410 FOR L1=1 TO 5
|
||
|
2420 IF B(L)=L1 THEN 2440
|
||
|
2430 GO TO 2450
|
||
|
2440 A(L1)=Q(L)
|
||
|
2450 NEXT L1
|
||
|
2460 NEXT L
|
||
|
2470 FOR S=1 TO 5
|
||
|
2480 IF A(S)=0 THEN 2500
|
||
|
2490 GO TO 2510
|
||
|
2500 A(S)=INT(6*RND(-1)+1)
|
||
|
2510 NEXT S
|
||
|
2520 GOSUB 1610
|
||
|
2610 PRINT "YOU HAVE A ";A(1);A(2);A(3);A(4);A(5)
|
||
|
2620 PRINT "HOW DO YOU WANT THIS ROUND SCORED";
|
||
|
2630 INPUT Z$
|
||
|
2640 IF Z$="WHAT?" THEN 2680
|
||
|
2650 IF Z$="SUMMARY" THEN 2670
|
||
|
2660 GO TO 2700
|
||
|
2670 GOSUB 6140
|
||
|
2675 GO TO 2620
|
||
|
2680 GOSUB 5650
|
||
|
2690 GO TO 2630
|
||
|
2700 IF Z$="ACES" THEN 2850
|
||
|
2710 IF Z$="TWOS" THEN 2940
|
||
|
2720 IF Z$="THREES" THEN 3030
|
||
|
2730 IF Z$="FOURS" THEN 3120
|
||
|
2740 IF Z$="FIVES" THEN 3210
|
||
|
2750 IF Z$="SIXES" THEN 3300
|
||
|
2760 IF Z$="THREE OF A KIND" THEN 3390
|
||
|
2770 IF Z$="FOUR OF A KIND" THEN 3440
|
||
|
2780 IF Z$="FULL HOUSE" THEN 3520
|
||
|
2790 IF Z$="SM. STRAIGHT" THEN 3620
|
||
|
2800 IF Z$="LG. STRAIGHT" THEN 3660
|
||
|
2810 IF Z$="YAHTZEE" THEN 3730
|
||
|
2820 IF Z$="CHANCE" THEN 3820
|
||
|
2830 IF Z$="ZERO" THEN 3890
|
||
|
2840 GO TO 2620
|
||
|
2850 IF A(1,I)<>-5 THEN 3870
|
||
|
2860 A(1,I)=0
|
||
|
2870 FOR S=1 TO 5
|
||
|
2880 IF A(S)=1 THEN 2900
|
||
|
2890 GO TO 2910
|
||
|
2900 A(1,I)=A(1,I)+1
|
||
|
2910 NEXT S
|
||
|
2920 M(I)=A(1,I)
|
||
|
2930 GO TO 4690
|
||
|
2940 IF T(1,I)<>-5 THEN 3870
|
||
|
2950 T(1,I)=0
|
||
|
2960 FOR S=1 TO 5
|
||
|
2970 IF A(S)=2 THEN 2990
|
||
|
2980 GO TO 3000
|
||
|
2990 T(1,I)=T(1,I)+2
|
||
|
3000 NEXT S
|
||
|
3010 M(I)=T(1,I)
|
||
|
3020 GO TO 4690
|
||
|
3030 IF T(2,I)<>-5 THEN 3870
|
||
|
3040 T(2,I)=0
|
||
|
3050 FOR S=1 TO 5
|
||
|
3060 IF A(S)=3 THEN 3080
|
||
|
3070 GO TO 3090
|
||
|
3080 T(2,I)=T(2,I)+3
|
||
|
3090 NEXT S
|
||
|
3100 M(I)=T(2,I)
|
||
|
3110 GO TO 4690
|
||
|
3120 IF F(1,I)<>-5 THEN 3870
|
||
|
3130 F(1,I)=0
|
||
|
3140 FOR S=1 TO 5
|
||
|
3150 IF A(S)=4 THEN 3170
|
||
|
3160 GO TO 3180
|
||
|
3170 F(1,I)=F(1,I)+4
|
||
|
3180 NEXT S
|
||
|
3185 M(I)=F(1,I)
|
||
|
3190 GO TO 4690
|
||
|
3210 IF F(2,I)<>-5 THEN 3870
|
||
|
3220 F(2,I)=0
|
||
|
3230 FOR S=1 TO 5
|
||
|
3240 IF A(S)=5 THEN 3260
|
||
|
3250 GO TO 3270
|
||
|
3260 F(2,I)=F(2,I)+5
|
||
|
3270 NEXT S
|
||
|
3280 M(I)=F(2,I)
|
||
|
3290 GO TO 4690
|
||
|
3300 IF S(1,I)<>-5 THEN 3870
|
||
|
3310 S(1,I)=0
|
||
|
3320 FOR S=1 TO 5
|
||
|
3330 IF A(S)=6 THEN 3350
|
||
|
3340 GO TO 3360
|
||
|
3350 S(1,I)=S(1,I)+6
|
||
|
3360 NEXT S
|
||
|
3370 M(I)=S(1,I)
|
||
|
3380 GO TO 4690
|
||
|
3390 IF T(3,I)<>-5 THEN 3870
|
||
|
3400 T(3,I)=0
|
||
|
3410 T(3,I)=A(1)+A(2)+A(3)+A(4)+A(5)
|
||
|
3420 M(I)=T(3,I)
|
||
|
3430 GO TO 4690
|
||
|
3440 IF F(3,I)<>-5 THEN 3870
|
||
|
3450 IF A(1)<>A(4) THEN 4960
|
||
|
3460 IF A(2)<>A(3) THEN 4960
|
||
|
3470 F(3,I)=0
|
||
|
3480 F(3,I)=A(1)+A(2)+A(3)+A(4)+A(5)
|
||
|
3490 M(I)=F(3,I)
|
||
|
3500 F(3,I)=0
|
||
|
3510 GO TO 4690
|
||
|
3520 IF F(4,I)<>-5 THEN 3870
|
||
|
3530 IF A(1)<>A(2) THEN 4960
|
||
|
3540 IF A(4)<>A(5) THEN 4960
|
||
|
3550 IF A(3)<>A(2) THEN 3570
|
||
|
3560 GO TO 3590
|
||
|
3570 IF A(3)<>A(4) THEN 4960
|
||
|
3580 GO TO 3590
|
||
|
3590 F(4,I)=25
|
||
|
3600 M(I)=F(4,I)
|
||
|
3610 GO TO 4690
|
||
|
3620 IF S(2,I)<>-5 THEN 3870
|
||
|
3630 S(2,I)=30
|
||
|
3640 M(I)=S(2,I)
|
||
|
3650 GO TO 4690
|
||
|
3660 IF L(1,I)<>-5 THEN 3870
|
||
|
3670 IF A(1)<>A(5)+4 THEN 4960
|
||
|
3680 IF A(2)<>A(4)+2 THEN 4960
|
||
|
3690 IF A(3)<>A(5)+2 THEN 4960
|
||
|
3700 L(1,I)=40
|
||
|
3710 M(I)=L(1,I)
|
||
|
3720 GO TO 4690
|
||
|
3730 IF Y(I)<>-5 THEN 3870
|
||
|
3740 FOR O=1 TO 5
|
||
|
3750 FOR O1=1 TO 5
|
||
|
3760 IF A(O)<>A(O1) THEN 4960
|
||
|
3770 NEXT O1
|
||
|
3780 NEXT O
|
||
|
3790 Y(I)=50
|
||
|
3800 M(I)=Y(I)
|
||
|
3810 GO TO 4690
|
||
|
3820 IF C(I)<>-5 THEN 3870
|
||
|
3830 C(I)=A(1)+A(2)+A(3)+A(4)+A(5)
|
||
|
3540
|
||
|
3850 M(I)=C(I)
|
||
|
3860 GO TO 4690
|
||
|
3870 GOSUB 4650
|
||
|
3880 GO TO 2620
|
||
|
3890 PRINT "WHAT DO YOU WANT TO ZERO";
|
||
|
3900 INPUT Z$
|
||
|
3920 IF Z$="SUMMARY" THEN 3940
|
||
|
3930 GO TO 3970
|
||
|
3940 GOSUB 6140
|
||
|
3945 GO TO 2620
|
||
|
3950 GOSUB 5680
|
||
|
3960 GO TO 3900
|
||
|
3970 IF Z$="ACES" THEN 4110
|
||
|
3980 IF Z$="TWOS" THEN 4150
|
||
|
3990 IF Z$="THREES" THEN 4190
|
||
|
4000 IF Z$="FOURS" THEN 4230
|
||
|
4010 IF Z$="FIVES" THEN 4270
|
||
|
4020 IF Z$="SIXES" THEN 4310
|
||
|
4030 IF Z$="THREE OF A KIND" THEN 4350
|
||
|
4040 IF Z$="FOUR OF A KIND" THEN 4390
|
||
|
4050 IF Z$="FULL HOUSE" THEN 4430
|
||
|
4060 IF Z$="SM. STRAIGHT" THEN 4470
|
||
|
4070 IF Z$="LG. STRAIGHT" THEN 4510
|
||
|
4080 IF Z$="YAHTZEE" THEN 4550
|
||
|
4090 IF Z$="CHANCE" THEN 4590
|
||
|
4100 GO TO 3890
|
||
|
4110 IF A(1,I)<>-5 THEN 4630
|
||
|
4120 A(1,I)=0
|
||
|
4130 M(I)=A(1,I)
|
||
|
4140 GO TO 4690
|
||
|
4150 IF T(1,I)<>-5 THEN 4630
|
||
|
4160 T(1,I)=0
|
||
|
4170 M(I)=T(1,I)
|
||
|
4180 GO TO 4690
|
||
|
4190 IF T(2,I)<>-5 THEN 4630
|
||
|
4200 T(2,I)=0
|
||
|
4210 M(I)=T(2,I)
|
||
|
4220 GO TO 4690
|
||
|
4230 IF F(1,I)<>-5 THEN 4630
|
||
|
4240 F(1,I)=0
|
||
|
4250 M(I)=F(1,I)
|
||
|
4260 GO TO 4690
|
||
|
4270 IF F(2,I)<>-5 THEN 4630
|
||
|
4280 F(2,I)=0
|
||
|
4290 M(I)=F(2,I)
|
||
|
4300 GO TO 4690
|
||
|
4310 IF S(1,I)<>-5 THEN 4630
|
||
|
4320 S(1,I)=0
|
||
|
4330 M(I)=S(1,I)
|
||
|
4340 GO TO 4690
|
||
|
4350 IF T(3,I)<>-5 THEN 4630
|
||
|
4360 T(3,I)=0
|
||
|
4370 M(I)=T(3,I)
|
||
|
4380 GO TO 4690
|
||
|
4390 IF F(3,I)<>-5 THEN 4630
|
||
|
4400 F(3,I)=0
|
||
|
4410 M(I)=F(3,I)
|
||
|
4420 GO TO 4690
|
||
|
4430 IF F(4,I)<>-5 THEN 4630
|
||
|
4440 F(4,I)=0
|
||
|
4450 M(I)=F(4,I)
|
||
|
4460 GO TO 4690
|
||
|
4470 IF S(2,I)<>-5 THEN 4630
|
||
|
4480 S(2,I)=0
|
||
|
4490 M(I)=S(2,I)
|
||
|
4500 GO TO 4690
|
||
|
4510 IF L(1,I)<>-5 THEN 4630
|
||
|
4520 L(1,I)=0
|
||
|
4530 M(I)=L(1,I)
|
||
|
4540 GO TO 4690
|
||
|
4550 IF Y(I)<>-5 THEN 4630
|
||
|
4560 Y(I)=0
|
||
|
4570 M(I)=Y(I)
|
||
|
4580 GO TO 4690
|
||
|
4590 IF C(I)<>-5 THEN 4630
|
||
|
4600 C(I)=0
|
||
|
4610 M(I)=C(I)
|
||
|
4620 GO TO 4690
|
||
|
4630 GOSUB 4650
|
||
|
4640 GOTO 2620
|
||
|
4650 PRINT "YOU HAVE ALREADY USED ";Z$;" AS A CATEGORY";C$
|
||
|
4660 PRINT
|
||
|
4670 RETURN
|
||
|
4680 GOTO 2620
|
||
|
4690 PRINT N$(I);" YOU GET A SCORE OF ";M(I);" FOR THIS ROUND"
|
||
|
4700 GO TO 5750
|
||
|
4710 NEXT I
|
||
|
4720 PRINT
|
||
|
4730 FOR J=1 TO P
|
||
|
4740 IF M(J)=A(1,J) THEN 4810
|
||
|
4750 IF M(J)=T(1,J) THEN 4810
|
||
|
4760 IF M(J)=T(2,J) THEN 4810
|
||
|
4770 IF M(J)=F(1,J) THEN 4810
|
||
|
4780 IF M(J)=F(2,J) THEN 4810
|
||
|
4790 IF M(J)=S(1,J) THEN 4810
|
||
|
4800 GO TO 4920
|
||
|
4810 K(1,J)=K(1,J)+M(J)
|
||
|
4820 GO TO 4830
|
||
|
4830 IF K(1,J)>=63 THEN 4860
|
||
|
4840 K(J)=K(J)+M(J)
|
||
|
4850 GO TO 4930
|
||
|
4860 K(1,J)=K(1,J)+35
|
||
|
4870 PRINT C$;N$(J);" HAS ACCUMULATED AT LEAST 63 POINTS"
|
||
|
4880 PRINT "IN THE FIRST SIX CATEGORIES."
|
||
|
4890 PRINT "HE SCORES A BONUS OF 35 POINTS!";C$
|
||
|
4900 K(J)=K(J)+M(J)
|
||
|
4910 GO TO 4930
|
||
|
4920 K(J)=K(J)+M(J)
|
||
|
4930 PRINT N$(J);" HAS ";K(J);" POINTS"
|
||
|
4940 NEXT J
|
||
|
4950 GO TO 1490
|
||
|
4960 PRINT "IT IS ILLEGAL TO USE ";Z$;" THIS ROUND";C$
|
||
|
4970 GO TO 2620
|
||
|
4980 PRINT
|
||
|
4990 PRINT
|
||
|
5000 PRINT
|
||
|
5010 PRINT "INSTRUCTIONS FOR PLAYING YAHTZEE";C$
|
||
|
5020 PRINT
|
||
|
5030 PRINT "YAHTZEE MAY BE PLAYED BY UP TO 15 PEOPLE."
|
||
|
5040 PRINT "THE OBJECT OF THE GAME IS TO GET THE HIGHEST SCORE"
|
||
|
5050 PRINT "EACH PLAYER ON HIS TURN RECEIVES FROM THE COMPUTER"
|
||
|
5060 PRINT "THE VALUES OF THE 5 PSEUDO-DICE. HE MAY THEN ROLL"
|
||
|
5070 PRINT "AS MANY OF THEM AS HE WANTS TO AGAIN. HOWEVER,"
|
||
|
5080 PRINT "HE IS ENTITLED UP TO BUT NO MORE THAN THREE ROLLS"
|
||
|
5090 PRINT "OF THE DICE."
|
||
|
5100 PRINT " YOU TELL THE COMPUTER MANY DICE YOU"
|
||
|
5110 PRINT "WANT TO CHANGE, THEN TELL IT WHICH ONES IN THE FOL-"
|
||
|
5120 PRINT "LOWING MANNER:"
|
||
|
5130 PRINT
|
||
|
5140 PRINT " TYPE: '1' FOR THE 1ST DIE, '2' FOR THE 2ND, ETC"
|
||
|
5150 PRINT " AFTER THE THIRD ROLL THE PLAYER MUST DECIDE HOW"
|
||
|
5160 PRINT "HE WANTS TO SCORE HIS FIVE DICE."
|
||
|
5170 PRINT "TYPING 'SUMMARY' WILL SHOW WHAT CATEGORIES"
|
||
|
5180 PRINT "HAVE BEEN USED. OTHERWISE,"
|
||
|
5190 PRINT "YOU HAVE 13 CHOICES, TYPE 1 OF THE FOLLOWING"
|
||
|
5200 PRINT "DEPENDING ON HOW YOU WANT TOUR DICE SCORED."
|
||
|
5210 PRINT "THE CHOICES ARE:"
|
||
|
5220 PRINT "ACES,TWOS,THREES,FOURS,FIVES,SIXES"
|
||
|
5230 PRINT "THREE OF A KIND,FOUR OF A KIND,FULL HOUSE, SM. STRAIGHT,"
|
||
|
5240 PRINT "LG. STRAIGHT, YAHTZEE,CHANCE."
|
||
|
5250 PRINT "WHAT THE COMPUTER WILL DO:"
|
||
|
5260 PRINT "FOR ACES IT WILL COUNT AND ADD ALL YOUR ONES."
|
||
|
5270 PRINT "FOR TWOS IT WILL COUNT AND ADD ALL YOUR TWOS."
|
||
|
5280 PRINT "THE SAME IS TRUE THROUGH THE SIXES"
|
||
|
5290 PRINT "THREE OF A KIND WILL TOTAL ALL OF THE DICE PRO-"
|
||
|
5300 PRINT "VIDED THAT YOU HAVE THREE OF A KIND"
|
||
|
5310 PRINT "FOUR OF A KIND IS THE SAME AS THREE OF A KIND EXCEPT"
|
||
|
5320 PRINT "THAT YOU MUST HAVE FOUR OF A KIND"
|
||
|
5330 PRINT "FULL HOUSE [3 OF ONE NO. AND 2 OF ANOTHER] WILL YIELD"
|
||
|
5340 PRINT "25 POINTS. SM. STRAIGHT WILL GIVE YOU 30 POINTS BUT"
|
||
|
5350 PRINT "YOU MUST HAVE A SEQUENCE OF FOUR."
|
||
|
5360 PRINT "LG.STRAIGHT WILL YIELD 40 POINTS BUT YOU MUST HAVE A SE-"
|
||
|
5370 PRINT "QUENCE OF FIVE."
|
||
|
5380 PRINT "YAHTZEE WILLL GIVE 50 POINTS IF YOU HAVE FIVE OF A KIND."
|
||
|
5390 PRINT "CHANCE WILL TOTAL ALL OF YOUR DICE AND USE THAT AS YOUR SCORE."
|
||
|
5400 PRINT "CHANCE IS USEFUL WHEN YOU DON'T HAVE ANYTHING WORTH SCORING."
|
||
|
5410 PRINT "ANOTHER CATEGORY, 'ZERO' WILL ZERO OUT A CATEGORY"
|
||
|
5420 PRINT "IF YOU DON'T HAVE ANYTHING WORTH SCORING"
|
||
|
5430 PRINT "BUT HAVE PERHAPS ALREAOY USED YOUR CHANCE."
|
||
|
5440 PRINT
|
||
|
5450 PRINT "IF YOUR ACCUMULATED SCORE OF THE FIRST SIX CATEGORIES"
|
||
|
5460 PRINT "EVER REACHES AT LEAST 63 POINTS YOU WILL RECEIVE"
|
||
|
5470 PRINT "A BONUS OF 35 POINTS!";C$
|
||
|
5480 PRINT
|
||
|
5490 PRINT "FOR INSTRUCTIONS DURING THE RUNNING OF THE PROGRAM"
|
||
|
5500 PRINT "TYPE 'WHAT?' WHEN THE COMPUTER ASKS FOR A WORD, OR,"
|
||
|
5510 PRINT"'.01' WHEN IT WANTS A NUMBER, AND YOU WILL RECEIVE"
|
||
|
5520 PRINT "FURTHER NOTES RELATED TO WHAT THE COMPUTER ASKED FOR."
|
||
|
5530 PRINT
|
||
|
5540 PRINT
|
||
|
5550 PRINT
|
||
|
5560 PRINT "GOOD LUCK!!!!!";C$
|
||
|
5570 GO TO 1070
|
||
|
5580 PRINT "WHAT DO YOU WANT ONE OF THE PLAYERS CALLED BY"
|
||
|
5600 PRINT "HOW MANY DICE DO YOU WANT TO ROLL AGAIN";
|
||
|
5610 RETURN
|
||
|
5620 PRINT "WHICH DIE DO YOU WANT TO CHANGE"
|
||
|
5630 PRINT "TYPE: '1' FOR THE 1ST DIE, '2' FOR THE 2ND DIE, ETC."
|
||
|
5640 RETURN
|
||
|
5650 PRINT "IN WHICH CATEGORY DO YOU WANT THIS ROUND SCORED"
|
||
|
5660 PRINT "TYPING: 'SUMMARY' WILL TELL YOU WHICH CATEGORIES YOU HAVE USED";
|
||
|
5670 RETURN
|
||
|
5680 PRINT "WHICH CATEGORY DO YOU WANT ZEROED"
|
||
|
5690 GO TO 5660
|
||
|
5710 PRINT "A MAXIMUM OF 15 PLAYERS IS ALLOWED"
|
||
|
5720 RETURN
|
||
|
5730 PRINT "HOW MANY PEOPLE WISH TO PLAY";
|
||
|
5740 RETURN
|
||
|
5750 IF Z$="ACES" THEN 5880
|
||
|
5760 IF Z$="TWOS" THEN 5900
|
||
|
5770 IF Z$="THREES" THEN 5920
|
||
|
5780 IF Z$="FOURS" THEN 5940
|
||
|
5790 IF Z$="FIVES" THEN 5960
|
||
|
5800 IF Z$="SIXES" THEN 5980
|
||
|
5810 IF Z$="THREE OF A KIND" THEN 6000
|
||
|
5820 IF Z$="FOUR OF A KIND" THEN 6020
|
||
|
5830 IF Z$="FULL HOUSE" THEN 6040
|
||
|
5840 IF Z$="SM. STRAIGHT" THEN 6060
|
||
|
5850 IF Z$="LG. STRAIGHT" THEN 6080
|
||
|
5860 IF Z$="YAHTZEE" THEN 6100
|
||
|
5870 IF Z$="CHANCE" THEN 6120
|
||
|
5880 H(I,R)=1
|
||
|
5890 GO TO 4710
|
||
|
5900 H(I,R)=2
|
||
|
5910 GO TO 4710
|
||
|
5920 H(I,R)=3
|
||
|
5930 GO TO 4710
|
||
|
5940 H(I,R)=4
|
||
|
5950 GO TO 4710
|
||
|
5960 H(I,R)=5
|
||
|
5970 GO TO 4710
|
||
|
5980 H(I,R)=6
|
||
|
5990 GO TO 4710
|
||
|
6000 H(I,R)=7
|
||
|
6010 GO TO 4710
|
||
|
6020 H(I,R)=8
|
||
|
6030 GO TO 4710
|
||
|
6040 H(I,R)=9
|
||
|
6050 GO TO 4710
|
||
|
6060 H(I,R)=10
|
||
|
6070 GO TO 4710
|
||
|
6080 H(I,R)=11
|
||
|
6090 GO TO 4710
|
||
|
6100 H(I,R)=12
|
||
|
6110 GO TO 4710
|
||
|
6120 H(I,R)=13
|
||
|
6130 GO TO 4710
|
||
|
6140 PRINT N$(I);" HAS USED THE FOLLOWING CATEGORIES:"
|
||
|
6150 FOR S=1 TO (R-1)
|
||
|
6160 IF H(I,S)>7 THEN 6180
|
||
|
6170 ON H(I,S) GO TO 6190,6210,6230,6250,6270,6290,6310
|
||
|
6180 ON H(I,F)-7 GO TO 6330,6350,6370,6390,6410,6430
|
||
|
6190 PRINT "ACES, ";
|
||
|
6200 GO TO 6440
|
||
|
6210 PRINT "TWOS, ";
|
||
|
6220 GO TO 6440
|
||
|
6230 PRINT "THREES, ";
|
||
|
6240 GO TO 6440
|
||
|
6250 PRINT "FOURS, ";
|
||
|
6260 GO TO 6440
|
||
|
6270 PRINT "FIVES, ";
|
||
|
6280 GO TO 6440
|
||
|
6290 PRINT "SIXES, ";
|
||
|
6300 GO TO 6440
|
||
|
6310 PRINT "THREE OF A KIND, ";
|
||
|
6320 GO TO 6440
|
||
|
6330 PRINT "FOUR OF A KIND, ";
|
||
|
6340 GO TO 6440
|
||
|
6350 PRINT "FULL HOUSE, ";
|
||
|
6360 GO TO 6440
|
||
|
6370 PRINT "SM. STRAIGHT, ";
|
||
|
6380 GO TO 6440
|
||
|
6390 PRINT "LG. STRAIGHT, ";
|
||
|
6400 GO TO 6440
|
||
|
6410 PRINT "YAHTZEE, ";
|
||
|
6420 GO TO 6440
|
||
|
6430 PRINT "CHANCE, ";
|
||
|
6440 NEXT S
|
||
|
6445 PRINT
|
||
|
6446 PRINT "HE HAS ";K(I);" POINTS,"
|
||
|
6447 PRINT "AND ";K(1,I);" OF THE 65 POINTS NEEDED FOR THE BONUS";
|
||
|
6450 PRINT "."
|
||
|
6460 RETURN
|
||
|
6470 G=0
|
||
|
6480 FOR X=1 TO P
|
||
|
6490 IF S(X)>=S(X+1) THEN 6540
|
||
|
6500 H=S(X)
|
||
|
6510 S(X)=S(X+1)
|
||
|
6520 S(X+1)=H
|
||
|
6530 G=1
|
||
|
6540 NEXT X
|
||
|
6550 IF G=1 THEN 6470
|
||
|
6560 PRINT "THE GAME IS OVER."
|
||
|
6570 PRINT
|
||
|
6571 FOR X=1 TO P
|
||
|
6572 IF K(X)=S(X) THEN 6580
|
||
|
6573 NEXT X
|
||
|
6580 PRINT "THE WINNER IS ";N$(1);" WITH ";K(1);" POINTS."
|
||
|
6585 IF P=1 THEN 9999
|
||
|
6586 PRINT "OTHER FINAL SCORES ARE:"
|
||
|
6590 FOR Y=1 TO P
|
||
|
6600 IF K(Y)=S(X) THEN 6620
|
||
|
6610 PRINT N$(Y);" FINISHES WITH ";K(Y);" POINTS."
|
||
|
6620 NEXT Y
|
||
|
9999 END
|