Listing of file='YAHTZEE' on disk='vmedia/games-droz01.wvd.zip'
# Sector 620, program filename = 'YAHTZEE' 0005 DIM A$(18)9,F(3,62),C$(18,5)3,K$1,B$(5)10,V$(4),H$(30)1,F$(3)62,N$1,G$(5) 1,G1$(5)1,M$(6)1,P$(6)1,H1$2 : H$()=ALL(30) 0010 REM *YAHTZEE* : IF K$="N" THEN LOAD T#0,"START" 0020 SELECT PRINT 005(64) 0040 PRINT HEX(030A0A);TAB(25);"*** YAHTZEE ***" : FOR X=1TO 250 : NEXT X : PRINT HEX(0A) 0050 INPUT "WOULD YOU LIKE TO READ THE INSTRUCTIONS",K$ : IF K$="Y"THEN 70 : GOTO 580 0060 REM % *** INSTRUCTIONS 0070 PRINT HEX(0A) : INPUT "WOULD YOU LIKE A HARD-COPY PRINTOUT OF THE INSTRUCTIONS",K$ : IF K$="Y"THEN 90 : IF K$<>"N"THEN 80 : PRINT HEX(03) : GOTO 130 0080 PRINT HEX(0C);TAB(63);HEX(20) : PRINT HEX(0C07);"PLEASE ANSWER YES OR NO" : FOR X=1TO 500 : NEXT X : PRINT HEX(0C);TAB(63);HEX(20) : PRINT HEX(0C0C); : GOTO 70 0090 PRINT HEX(0A); : INPUT "WILL THIS BE PRINTED ON A LINE PRINTER(P) OR A TYPEWRITER(T)",T$ : IF T$="T"THEN 120 : IF T$<>"P"THEN 110 0100 PRINT HEX(03) : SELECT PRINT 215(64) : GOTO 140 0110 PRINT HEX(0C);TAB(63);HEX(20) : PRINT HEX(0C07);"PLEASE ANSWER 'P' OR 'T'" : FOR X=1TO 500 : NEXT X : PRINT HEX(0C);TAB(63);HEX(20) : PRINT HEX(0C0C); : GOTO 90 0120 PRINT HEX(03) : SELECT PRINT 211(64) : GOTO 140 0130 PRINT HEX(03) 0140 PRINT TAB(25);"INSTRUCTIONS" : PRINT HEX(0A);TAB(5);"YAHTZEE MAY BE PLAYED BY 1 TO 5 PLAYERS. EACH PLAYE R ROLLS"; 0150 PRINT "FIVE DICE ON HIS FIRST TURN, KEEPS THE DICE HE WANTS AND ROLLS AG AIN - A MAXIMUM OF 3 ROLLS. AND IT'S THE SKILLFUL USE OF THIS"; 0160 PRINT "OPTION THAT CAN TURN AN UNLUCKY ROLL INTO A HIGH-SCORING TURN. TH E PLAYER WITH THE HIGHEST SCORE WINS, SO DETERMINING WHERE TO SCORE IS CR ITICAL." : IF K$="Y"THEN 200 0170 PRINT HEX(0A0A);TAB(20);"PRESS 'EXECUTE' TO CONTINUE" 0180 KEYIN K$,190,190 : GOTO 180 0190 PRINT HEX(03) 0200 PRINT TAB(25);"SCORING" : PRINT "THE SCORE PAD IS DIVIDED INTO TWO SECTIONS (LEFT AND RIGHT). IN TH E LEFT SECTION THERE ARE SPACES TO SCORE ACES, TWOS, THREES, FOURS, FIVE S AND SIXES."; 0210 PRINT "THE PLAYER COUNTS AND ADDS ONLY THE DICE WITH THE SAME NUMBER AN D THE COMPUTER WILL PLACE THE TOTAL IN THE APPROPRIATE SPACE."; 0220 PRINT "THUS IF THE THREE'S BOX IS CHOSEN, THE ROLL 2,5,3,3,3 WILL SCORE9 FOR THE 3'S."; 0230 PRINT "A BONUS OF 35 POINTS MAY BE EARNED IF THE TOTAL OF THE LEFT SE CTION IS 63 OR GREATER. 63 MAY BE SCORED BY GETTING A MINIMUM OF 3 OF A K IND FOR EACH NUMBER 1 TO 6."; 0240 PRINT "IF AT THE END OF YOUR TURN THERE IS NO BOX OPEN THAT YOU MEET"; : PRINT "THE REQUIREMENTS OF, YOU MUST FILL AN EMPTY BOX WITH A ZERO."; : IF K$="Y"THEN 280 0250 PRINT : PRINT TAB(20);"PRESS 'EXECUTE' TO CONTINUE" 0260 KEYIN K$,270,270 : GOTO 260 0270 PRINT HEX(03) 0280 PRINT "THE RIGHT SECTION IS PLAYED EXACTLY AS SHOWN ON THE SCREEN."; 0290 PRINT "* 3 OF A KIND MAY BE CHOSEN ONLY WHEN A ROLL INCLUDES ANY 3 OF A KIND. THE TOTAL OF ALL THE DICE IS SCORED,EG, 4,4,4,3,2 WOULD SCORE AS 17."; 0300 PRINT "* 4 OF A KIND SCORES THE TOTAL OF ALL 5 DICE PROVIDED THEY IN CLUDE ANY 4 OF A KIND,EG, 5,5,5,5,2 WOULD SCORE AS 22."; 0310 PRINT "* FULL HOUSE MAY BE CHOSEN ONLY WHEN THE ROLL INCLUDES ANY 3 OF A KIND AND ANY PAIR. SCORE 25."; 0320 PRINT "* SMALL STRAIGHT IS ANY SEQUENCE OF 4 NUMBERS. SCORE 30. * LARGE STRAIGHT IS ANY SEQUENCE OF 5 NUMBERS. SCORE 40."; 0330 PRINT "* YAHTZEE IS ANY 5 OF A KIND. SCORE 50."; 0340 PRINT "* CHANCE IS THE OPPORTUNITY THE PLAYER HAS TO SCORE ON ANY TU RN WHICH DOESN'T FILL ANY OTHER REQUIREMENT. SCORE BY TOTALINGNUMBER OF P OINTS ON ALL DICE." : IF K$="Y"THEN 380 0350 PRINT TAB(20);"PRESS 'EXECUTE' TO CONTINUE" 0360 KEYIN K$,370,370 : GOTO 360 0370 PRINT HEX(03) 0380 PRINT " IF THE PLAYER SHOULD THROW A YAHTZEE FOR THE FIRST TIME ANDTH E YAHTZEE BOX HAS PREVIOUSLY BEEN FILLED WITH A ZERO AND THE"; 0390 PRINT "APPROPRIATE NUMBERED BOX OF THE LEFT SECTION HAS BEEN USED, HE"; 0400 PRINT "MAY USE THIS TURN AS A JOKER AND MARK HIS SCORE IN ANY OF THE BO XES OPEN IN THE RIGHT SECTION. FOR EXAMPLE, IF HE HAS FIVE 4'SHE MAY SCOR E 20 POINTS FOR 3 OF A KIND,"; 0410 PRINT " 4 OF A KIND OR CHANCE"; 0420 PRINT "OR SCORE 25 POINTS FOR FULL HOUSE 30 POINTS FOR SMALL STRAIGHT OR 40 POINTS FOR LARGE STRAIGHT."; 0430 PRINT " IF ALL OF THE BOXES IN THE RIGHT SECTION ARE FILLED HE MUSTEN TER A ZERO IN A BOX IN THE LEFT SECTION. HE DOES NOT RECEIVE ABONUS CHIP. "; 0440 PRINT " IF A PLAYER ROLLS A SECOND YAHTZEE HE RECEIVES A 100 POINT BO NUS CHIP AND USES THIS TURN AS JOKER. SCORED AS DESCRIBED ABOVE."; : IF K$="Y"THEN 480 0450 PRINT " PRESS 'EXECUTE' TO CONTINUE" 0460 KEYIN K$,470,470 : GOTO 460 0470 PRINT HEX(03) 0480 PRINT " WHEN IT IS YOUR TURN PRESS 'EXECUTE' TO ROLL THE DICE, THENEN TER THE DICE YOU WISH TO KEEP. AFTER YOU ENTER EACH NUMBER A COMMA WILL "; 0490 PRINT "APPEAR AND YOU MAY THEN ENTER THE NEXT NUMBER."; 0500 PRINT " ENTER A CARRIAGE RETURN AFTER THE LAST NUMBER HAS BEEN EN TERED. THE DICE YOU HAVE CHOSEN WILL APPEAR IN THE BOX ON THE RIGHT OF TH E SCORE PAD."; 0510 PRINT " AFTER EACH ROLL YOU MUST ENTER ALL OF THE DICE YOU WISH TO"; 0520 PRINT "KEEP (EVEN THOSE ENTERED ON THE PREVIOUS TURN)."; 0530 PRINT " IF YOU ENTER THE WRONG NUMBER YOU MAY BACKSPACE TO DELETE IT AND ENTER THE CORRECT NUMBER."; 0540 PRINT " IF YOU DO NOT WISH TO KEEP ANY OF THE DICE ENTER AN 'N' IN STEAD OF A NUMBER. IF YOU ANSWER 'NO I DO NOT WANT TO ROLL"; 0550 PRINT "AGAIN' THEN CHANGE YOUR MIND, ENTER AN 'N' AND YOU WILL RECEIVE YO UR REMAINING ROLLS." 0560 SELECT PRINT 005(64) : PRINT TAB(20);"PRESS 'EXECUTE' TO START GAME" 0570 KEYIN K$,580,580 : GOTO 570 0580 REM $ 0590 REM ** YAHTZEE 0600 SELECT PRINT 005(64) 0610 INIT(2D)C$() : J=0 : A1=0 0620 FOR I=1TO 30 : J=J+1 : CONVERT JTO H$(I),(#) : IF J>=6THEN 630 : NEXT I : GOTO 640 0630 J=0 : NEXT I 0640 REM % *** INPUT PLAYER'S NAMES 0650 PRINT HEX(03) : INPUT "HOW MANY PLAYERS",K$ : IF NUM(K$)<LEN(K$)THEN 650 : CONVERT K$TO K : IF K<=5THEN 660 : PRINT "ONLY 5 PLAYERS PLEASE" : FOR X=1TO 15 : PRINT HEX(07) : FOR Y=1TO 50 : NEXT Y : NEXT X : GOTO 650 0660 IF K<=0THEN 650 : FOR X=1TO K : PRINT "PLAYER NUMBER ";X;"'S NAME"; : INPUT B$(X) : NEXT X : L=1 : GOSUB '01 0670 REM % *** DISPLAY 0680 SELECT PRINT 005 : PRINT HEX(01);TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(01) : FOR X=1TO 25 : PRINT HEX(09); : NEXT X : PRINT B$(L);HEX(0D0A); : FOR X=1TO 16 : PRINT HEX(09); : NEXT X : PRINT HEX(0A0A0A0A); : FOR I=1TO 9 : PRINT HEX(0A080808);C$(I,L); : NEXT I : PRINT HEX(0D0A); 0690 FOR X=1TO 46 : PRINT HEX(09); : NEXT X : FOR I=18TO 10STEP -1 : PRINT HEX(0C080808);C$(I,L); : NEXT I : PRINT HEX(0A0A0A0A09090909092020202020202020200C0C0C0C); : FOR X=1TO 13 : PRINT HEX(08); : NEXT X : IF A1=1THEN 1730 0700 PRINT HEX(0C0C0C); : FOR I=1TO 32 : PRINT HEX(08); : NEXT I : PRINT "PRESS 'EXECUTE' TO ROLL DICE";HEX(010A) : Y=0 0710 REM % *** MAIN PROGRAM 0720 FOR I=1TO 4 : IF V$(I)=HEX(20)THEN 730 : Y=Y+1 : NEXT I : P=1 : GOTO 740 0730 P=5-Y : I=5 : NEXT I 0740 INIT(20)G$(),F$() : KEYIN K$,750,750 0750 KEYIN K$,760,760 : FOR I=1TO P : G$(I)=H$(INT(30*RND(1))+1) : NEXT I : GOTO 750 0760 IF J<=0THEN 790 : IF J>3THEN 790 : SELECT PRINT 005(64) : PRINT HEX(0A0A);TAB(63);HEX(20) : PRINT HEX(0C0C0C0C) : PRINT : SELECT PRINT 405 : FOR I=1TO P 0770 M=INT(60*RND(1)) : IF M<=1THEN 770 : IF STR(F$(J),M,1)<>HEX(20)THEN 770 : STR(F$(J),M,1)=G$(I) : STR(F$(J),M-1,1),STR(F$(J),M+1,1)=HEX(86) : J=J+1 : IF J>3THEN 780 : NEXT I : FOR X=1TO 3 : PRINT F$(X);HEX(0D0A); : NEXT X : GOTO 800 0780 J=1 : NEXT I : FOR X=1TO 3 : PRINT F$(X);HEX(0D0A); : NEXT X : GOTO 800 0790 J=1 : GOTO 760 0800 N=N+1 : IF N>=3THEN 960 0810 INPUT "WOULD YOU LIKE TO ROLL AGAIN",K$ : IF K$="Y"THEN 820 : IF K$="N"THEN 970 : PRINT HEX(070C); : SELECT PRINT 005 : PRINT TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(0C); : GOTO 810 0820 PRINT HEX(0C);"WHICH DIE DO YOU WISH TO KEEP? "; : IF N=1THEN 870 : GOSUB 830 : J=1 : GOTO 850 0830 FOR I=1TO 4 : IF V$(I)=HEX(20)THEN 840 : NEXT I 0840 I=I-1 : RETURN 0850 FOR X=1TO 5 : IF G$(X)=HEX(20)THEN 860 : NEXT X : GOTO 870 0860 G$(X)=V$(J) : J=J+1 : NEXT X 0870 I=0 : INIT(20)V$(),G1$() : FOR X=1TO 5 : G1$(X)=G$(X) : NEXT X 0880 KEYIN K$,890,890 : GOTO 880 0890 IF K$="N"THEN 920 : IF K$=HEX(0D)THEN 900 : IF K$=HEX(08)THEN 950 : I=I+1 : IF I>=5THEN 930 : V$(I)=K$ : PRINT K$;","; : GOTO 880 0900 FOR J=1TO I : FOR X=1TO 5 : IF V$(J)=G$(X)THEN 910 : NEXT X : SELECT PRINT 005 : PRINT HEX(07);TAB(63);HEX(20) : PRINT HEX(0C);"ERROR PLEASE REENTER" : SELECT PRINT 405 : J=I+1 : NEXT J : FOR X=1TO 500 : NEXT X : FOR X=1TO 5 : G$(X)=G1$(X) : NEXT X : GOTO 820 0910 INIT(20)G$(X) : X=6 : NEXT X : NEXT J : PRINT : SELECT PRINT 005 : PRINT TAB(52); : PRINT HEX(0A0A0A0A0A); : FOR I=1TO 4 : PRINT V$(I);HEX(20); : NEXT I : PRINT 0920 GOSUB '2 : GOTO 700 0930 PRINT : PRINT HEX(0C07);"ERROR - IF YOU WANT TO KEEP ALL 5 YOU CAN'T ROLL AGAIN." ;HEX(0A0D); : PRINT HEX(0C) : FOR X=1TO 350 : NEXT X : SELECT PRINT 005 : PRINT TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(0C) : GOTO 810 0940 REM % *** SCORING 0950 REM FIX ML : IF I=0 THEN 880 : PRINT HEX(080820200808); : V$(I)=HEX(20) : I=I-1 : GOTO 880 0960 PRINT HEX(0D0A); 0970 PRINT HEX(0C); : INIT(30)H1$ : INPUT "ENTER NUMBER OF BOX YOU WISH TO SCORE",H1$ : IF H1$="N"THEN 980 : IF NUM(H1$)<LEN(H1$)THEN 990 : CONVERT H1$TO H : IF H>13THEN 990 : IF H<=0THEN 990 : IF H=12THEN 1010 : IF H>6THEN 1000 : IF C$(H,L)<>HEX(2D2D2D)THEN 1020 : GOTO 1010 0980 SELECT PRINT 005 : PRINT HEX(0C);TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(0C) : GOTO 810 0990 SELECT PRINT 005 : PRINT HEX(0C);TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(0C07);"ERROR PLEASE REENTER";HEX(0D0A); : FOR X=1TO 250 : NEXT X : GOTO 970 1000 IF C$(H+3,L)<>HEX(2D2D2D)THEN 1020 1010 T=0 : J=1 : GOSUB 1030 : ON HGOTO 1060,1060,1060,1060,1060,1060,1170,1190,1240,1330,1410,1470,1580 1020 SELECT PRINT 005 : PRINT HEX(0C);TAB(63);HEX(20) : SELECT PRINT 405 : PRINT HEX(0C07);"THIS HAS ALREADY BEEN TAKEN";HEX(0D0A); : FOR X=1TO 500 : NEXT X : GOTO 970 1030 FOR I=1TO 5 : IF G$(I)=HEX(20)THEN 1040 : NEXT I : RETURN 1040 G$(I)=V$(J) : J=J+1 : NEXT I : RETURN 1050 REM % LEFT SECTION 1060 CONVERT HTO N$,(#) : FOR I=1TO 5 : IF G$(I)=N$THEN 1070 : NEXT I : GOTO 1620 1070 I=6 : NEXT I : FOR I=1TO 5 : IF G$(I)=N$THEN 1080 : NEXT I : GOTO 1090 1080 T=T+H : NEXT I 1090 CONVERT TTO C$(H,L),(###) : T=0 1100 FOR I=1TO 6 : IF C$(I,L)=HEX(2D2D2D)THEN 1710 : NEXT I : FOR I=1TO 6 : CONVERT C$(I,L)TO R : T=T+R : NEXT I : CONVERT TTO C$(7,L),(###) : IF T>=63THEN 1110 : GOTO 1120 1110 C$(8,L)="035" : T=T+35 : CONVERT TTO C$(9,L),(###) : GOTO 1130 1120 C$(9,L)=C$(7,L) 1130 IF C$(17,L)<>HEX(2D2D2D)THEN 1140 : GOTO 1720 1140 CONVERT C$(9,L)TO T : CONVERT C$(17,L)TO R : T=T+R : CONVERT TTO C$(18,L),(###) : IF L=KTHEN 1660 : GOTO 1720 1150 REM % RIGHT SECTION 1160 REM 3 OF A KIND 1170 S=3 : GOTO 1200 1180 REM 4 OF A KIND 1190 S=4 1200 FOR I=1TO 5 : FOR J=1TO 5 : IF G$(I)=G$(J)THEN 1210 : NEXT J : T=0 : NEXT I : GOTO 1620 1210 T=T+1 : IF T>=STHEN 1220 : NEXT J : T=0 : NEXT I : GOTO 1620 1220 J=6 : I=6 : NEXT J : NEXT I : T=0 : FOR I=1TO 5 : CONVERT G$(I)TO R : T=T+R : NEXT I : CONVERT TTO C$(H+3,L),(###) : GOTO 1590 1230 REM FULL HOUSE 1240 T=1 : F=0 1250 FOR I=2TO 5 : IF G$(I)=G$(1)THEN 1260 : IF G$(I)<>G$(1)THEN 1270 : NEXT I : GOTO 1280 1260 T=T+1 : NEXT I : GOTO 1280 1270 F=I : NEXT I 1280 IF T=2THEN 1290 : IF T=3THEN 1290 : GOTO 1620 1290 FOR I=1TO 5 : IF G$(I)=G$(F)THEN 1300 : NEXT I : GOTO 1310 1300 T=T+1 : NEXT I 1310 IF T<>5THEN 1620 : C$(12,L)="025" : GOTO 1590 1320 REM SM STRAIGHT 1330 FOR I=1TO 6 : CONVERT ITO M$(I),(#) : CONVERT ITO P$(I),(#) : NEXT I 1340 FOR I=1TO 5 : IF M$(VAL(G$(I))-48)=HEX(20)THEN 1350 : M$(VAL(G$(I))-48)=HEX(20) : NEXT I : GOTO 1370 1350 IF P$(VAL(G$(I))-48)=HEX(20)THEN 1360 : P$(VAL(G$(I))-48)=HEX(20) : NEXT I : GOTO 1370 1360 I=6 : NEXT I : GOTO 1620 1370 IF M$(3)<>HEX(20)THEN 1620 : IF M$(4)<>HEX(20)THEN 1620 : IF M$(2)<>HEX(20)THEN 1380 : IF M$(1)=HEX(20)THEN 1390 : IF M$(5)=HEX(20)THEN 1390 : GOTO 1620 1380 IF M$(5)<>HEX(20)THEN 1620 : IF M$(6)<>HEX(20)THEN 1620 1390 C$(13,L)="030" : GOTO 1590 1400 REM LG STRAIGHT 1410 INIT(20)M$() : FOR I=1TO 5 : IF G$(I)="1"THEN 1430 : NEXT I 1420 FOR I=1TO 5 : IF G$(I)="2"THEN 1440 : NEXT I : GOTO 1620 1430 I=6 : NEXT I : FOR I=1TO 5 : CONVERT ITO M$(I),(#) : NEXT I : FOR I=1TO 5 : IF M$(VAL(G$(I))-48)=HEX(20)THEN 1610 : M$(VAL(G$(I))-48)=HEX(20) : NEXT I : GOTO 1450 1440 I=6 : NEXT I : FOR I=2TO 6 : CONVERT ITO M$(I),(#) : NEXT I : FOR I=1TO 5 : IF M$(VAL(G$(I))-48)=HEX(20)THEN 1610 : M$(VAL(G$(I))-48)=HEX(20) : NEXT I 1450 C$(14,L)="040" : GOTO 1590 1460 REM YAHTZEE 1470 FOR I=1TO 5 : IF G$(I)<>G$(1)THEN 1610 : NEXT I : IF C$(15,L)<>HEX(2D2D2D)THEN 1480 : C$(15,L)="050" : GOTO 1590 1480 IF C$(15,L)="000"THEN 1510 1490 CONVERT C$(15,L)TO Z1 : Z1=Z1+100 : CONVERT Z1TO C$(15,L),(###) : GOTO 1510 1500 PRINT HEX(0C) 1510 PRINT HEX(0C);"THIS MAY BE USED TO SCORE IN THE ";G$(1);"'S BOX OR IN RIG HT SECTION";HEX(0D0A); : INPUT "WHICH BOX",H : IF H>6THEN 1520 : IF C$(H,L)<>HEX(2D2D2D)THEN 1500 : CONVERT G$(1)TO T : IF T<>HTHEN 1510 : CONVERT 5*HTO C$(H,L),(###) : GOTO 1590 1520 H=H+3 : IF C$(H,L)<>HEX(2D2D2D)THEN 1500 : IF H=10THEN 1530 : IF H=11THEN 1530 : IF H=16THEN 1530 : IF H=12THEN 1540 : IF H=13THEN 1550 : IF H=14THEN 1560 1530 CONVERT G$(1)TO Z1 : CONVERT 5*Z1TO C$(H,L),(###) : GOTO 1590 1540 C$(H,L)="025" : GOTO 1590 1550 C$(H,L)="030" : GOTO 1590 1560 C$(H,L)="040" : GOTO 1590 1570 REM CHANCE 1580 FOR I=1TO 5 : CONVERT G$(I)TO R : T=T+R : NEXT I : CONVERT TTO C$(16,L),(###) 1590 FOR I=10TO 16 : IF C$(I,L)=HEX(2D2D2D)THEN 1700 : NEXT I : FOR I=10TO 16 : CONVERT C$(I,L)TO R : T=T+R : NEXT I : CONVERT TTO C$(17,L),(###) : IF C$(7,L)<>HEX(2D2D2D)THEN 1600 : GOTO 1720 1600 CONVERT C$(9,L)TO T : CONVERT C$(17,L)TO R : CONVERT T+RTO C$(18,L),(###) : IF L+1>KTHEN 1660 : T=0 : GOTO 1720 1610 I=5 : NEXT I 1620 PRINT HEX(0C07);"THIS ROLL WILL GIVE YOU A ZERO, DO YOU WANT THAT"; : INPUT K$ : IF K$="Y"THEN 1630 : SELECT PRINT 005 : PRINT HEX(0C);TAB(63);HEX(20) : SELECT PRINT 405 : IF K$="N"THEN 970 : PRINT HEX(0C07);"PLEASE ANSWER YES OR NO" : FOR X=1TO 250 : NEXT X : GOTO 1620 1630 IF H>6THEN 1640 : C$(H,L)="000" : GOTO 1100 1640 C$(H+3,L)="000" : GOTO 1590 1650 REM % *** ENDING ROUTINE 1660 SELECT PRINT 005(64) : PRINT HEX(0307) : L=K 1670 J=1 : GOSUB 1680 : PRINT HEX(0A0A);TAB(10);B$(J);TAB(25);C$(18,J) : C$(18,J)="000" : L=L-1 : IF L=0THEN 1850 : GOTO 1670 1680 FOR I=1TO K : IF C$(18,J)<C$(18,I)THEN 1690 : NEXT I : RETURN 1690 J=J+1 : I=6 : NEXT I : GOTO 1680 1700 I=16 : NEXT I : GOTO 1720 1710 I=6 : NEXT I 1720 GOSUB '2 : A1=1 : GOTO 680 1730 A1,T,N=0 : L=L+1 : IF L>KTHEN 1740 : GOTO 1750 1740 L=1 1750 FOR X=1TO 500 : NEXT X : GOSUB '2 : INIT(20)V$() : GOTO 680 1760 DEFFN'1 1770 PRINT HEX(030A0A0A0A0A0A);" 1 ACES";TAB(28);"7 3 OF A KIND" 1780 PRINT " 2 TWOS";TAB(28);"8 4 OF A KIND" : PRINT " 3 THREES";TAB(28);"9 FULL HOUSE" 1790 PRINT " 4 FOURS";TAB(27);"10 SM STRAIGHT";TAB(49); : FOR I=1TO 13 : PRINT HEX(2D); : NEXT I : PRINT 1800 PRINT " 5 FIVES";TAB(27);"11 LG STRAIGHT";TAB(49);HEX(86);TAB(61);HEX(8 6) 1810 PRINT " 6 SIXES";TAB(27);"12 YAHTZEE";TAB(49); : FOR I=1TO 13 : PRINT HEX(2D); : NEXT I : PRINT 1820 PRINT " TOTAL";TAB(27);"13 CHANCE" : PRINT " BONUS";TAB(30);"TOTAL" 1830 PRINT " TOTAL";TAB(30);"GRAND TOTAL";HEX(01) : RETURN 1840 DEFFN'2 : SELECT PRINT 005 : PRINT HEX(010A) : FOR X=1TO 5 : PRINT TAB(63);HEX(20) : NEXT X : SELECT PRINT 405 : FOR X=1TO 44 : PRINT HEX(09); : NEXT X : RETURN 1850 PRINT HEX(0A0A0A) : INPUT "WOULD YOU LIKE TO PLAY AGAIN (Y OR N)",K$ : IF K$="N"THEN 10 : IF K$="Y"THEN 1860 : PRINT HEX(07);"PLEASE ANSWER Y OR N" : PRINT HEX(0C0C0C0C) : GOTO 1850 1860 INIT(2D)C$() : N=0 : INIT(20)V$(),G$(),F$() : SELECT PRINT 005 : GOTO 650 9000 DEFFN'31 : LOAD T "START"