!*************************** AMUS Program Label ****************************** ! Filename: YATZEE.BAS Date: 08/05/91 ! Category: GAME Hash Code: 772-303-323-766 RUN Version: 1.0(101) ! Initials: ULTR/US Name: DAVID PALLMANN ! Company: ULTRASOFT CORPORATION Telephone #: 5163484848 ! Related Files: YATZEE.SBR ! Min. Op. Sys.: AMOSL 1.3B/AMOS32 1.0 Expertise Level: BEG ! Special: Needs Put YATZEE.SBR in BAS:, load into memory for faster execut. ! Description: Alpha version of the popular dice game YAHTZEE !***************************************************************************** !**************************************************************************** !* * !* "YAHTZEE" * !* Computer Version of the Dice Game * !* * !**************************************************************************** !David Pallmann, UltraSoft Corporation ! !Requires YATZEE.SBR PROGRAM YATZEE, 1.0(101) MAP1 BOTTOM,F,6 MAP1 CHAR,S,1 MAP1 COL,F,6 MAP1 DIR,F,6 MAP1 FLAG(6),F,6 MAP1 INDEX,F,6 MAP1 I,F,6 MAP1 J,F,6 MAP1 KEY,B,2 MAP1 MOVES,F,6 MAP1 NAME,S,30 MAP1 ROLL(6),F,6 MAP1 ROLLS,F,6 MAP1 ROW,F,6 MAP1 SCORE,F,6 MAP1 SCORE(13),F,6 MAP1 STRING,S,7 MAP1 TOP,F,6 MAP1 HIGH'SCORE,F,6 MAP1 HIGH'NAME,S,30 LOAD'SCORE: LOOKUP "YATZEE.DAT", I IF I=0 THEN GOTO INIT OPEN #1, "YATZEE.DAT", INPUT INPUT #1, HIGH'SCORE, HIGH'NAME CLOSE #1 INIT: RANDOMIZE NEW'GAME: FOR I = 1 TO 13 SCORE(I) = -1 NEXT I MOVES = 0 SCREEN: PRINT TAB(-1,0); TAB(-1,29); CALL BACKGROUND IF HIGH'SCORE=0 THEN GOTO MOVE PRINT TAB(-1,11); TAB(24,1); "High score of"; HIGH'SCORE; "by "; HIGH'NAME; TAB(-1,12); MOVE: IF MOVES=13 THEN GOTO END'GAME MOVES = MOVES+1 FIRST'ROLL: ROLLS = 1 PRINT TAB(6,62); SPACE(16); PRINT TAB(8,62); SPACE(16); PRINT TAB(10,62); SPACE(16); CALL CLEAR'INSTRUCTIONS ROW = 6 FOR I = 1 TO 5 : FLAG(I) = 1 : NEXT I CALL GET'ROLL CALL SORT PRINT TAB(-1,12); FOR I = 1 TO 5 PRINT TAB(ROW,I*3+61); STR(ROLL(I)); NEXT I FR2: PRINT TAB(16,59); "Enter Y or N for"; PRINT TAB(17,59); "each die. If you"; PRINT TAB(18,59); "do not wish to"; PRINT TAB(19,59); "roll again, press"; PRINT TAB(20,59); "Q."; ROW = 8 PRINT TAB(-1,11); FOR I = 1 TO 5 FLAG(I) = 0 PRINT TAB(ROW,I*3+62); TAB(-1,31); PRINT TAB(ROW,I*3+60); TAB(-1,30); STR(ROLL(I)); TAB(-1,31); PRINT TAB(ROW,I*3+61); FR2A: XCALL YATZEE, CHAR CHAR = UCS(CHAR) IF CHAR="N" OR CHAR=" " THEN GOTO FR3 IF CHAR="Y" OR CHAR="R" THEN GOTO FR2B IF CHAR="Q" OR CHAR=CHR(27) OR CHAR=CHR(11) OR CHAR=CHR(10) & THEN I = 5 : GOTO FR4 PRINT CHR(7); GOTO FR2A FR2B: PRINT TAB(-1,12); PRINT TAB(ROW,I*3+60); " "; STR(ROLL(I)); " "; PRINT TAB(-1,11); FLAG(I) = 1 GOTO FR4 FR3: PRINT TAB(ROW,I*3+60); " "; STR(ROLL(I)); " "; FR4: NEXT I IF CHAR="Q" OR CHAR=CHR(27) OR CHAR=CHR(11) OR CHAR=CHR(10) THEN GOTO SELECT IF FLAG(1)=FLAG(2) AND FLAG(2)=FLAG(3) AND FLAG(3)=FLAG(4) AND & FLAG(4)=FLAG(5) AND FLAG(1)=0 THEN GOTO SELECT SECOND'ROLL: ROLLS = 2 CALL CLEAR'INSTRUCTIONS ROW = 8 CALL GET'ROLL PRINT TAB(-1,12); FOR I = 1 TO 5 PRINT TAB(ROW,I*3+61); STR(ROLL(I)); NEXT I SR2: PRINT TAB(16,59); "Enter Y or N for"; PRINT TAB(17,59); "each die. If you"; PRINT TAB(18,59); "do not wish to"; PRINT TAB(19,59); "roll again, press"; PRINT TAB(20,59); "Q."; ROW = 10 PRINT TAB(-1,11); FOR I = 1 TO 5 FLAG(I) = 0 PRINT TAB(ROW,I*3+62); TAB(-1,31); PRINT TAB(ROW,I*3+60); TAB(-1,30); STR(ROLL(I)); TAB(-1,31); PRINT TAB(ROW,I*3+61); SR2A: XCALL YATZEE, CHAR CHAR = UCS(CHAR) IF CHAR="N" OR CHAR=" " THEN GOTO SR3 IF CHAR="Y" OR CHAR="R" THEN GOTO SR2B IF CHAR="Q" OR CHAR=CHR(27) OR CHAR=CHR(11) OR CHAR=CHR(10) & THEN I = 5 : GOTO FR4 PRINT CHR(7); GOTO SR2A SR2B: PRINT TAB(-1,12); PRINT TAB(ROW,I*3+60); " "; STR(ROLL(I)); " "; PRINT TAB(-1,11); FLAG(I) = 1 GOTO SR4 SR3: PRINT TAB(ROW,I*3+60); " "; STR(ROLL(I)); " "; SR4: NEXT I IF CHAR="Q" OR CHAR=CHR(27) OR CHAR=CHR(11) OR CHAR=CHR(10) THEN GOTO SELECT IF FLAG(1)=FLAG(2) AND FLAG(2)=FLAG(3) AND FLAG(3)=FLAG(4) AND & FLAG(4)=FLAG(5) AND FLAG(1)=0 THEN GOTO SELECT THIRD'ROLL: ROLLS = 3 CALL GET'ROLL PRINT TAB(-1,12); FOR I = 1 TO 5 PRINT TAB(ROW,I*3+61); STR(ROLL(I)); NEXT I SELECT: PRINT TAB(-1,29); TAB(-1,12); CALL CLEAR'INSTRUCTIONS PRINT TAB(16,59); "Use ARROW KEYS to"; PRINT TAB(17,59); "to select scoring"; PRINT TAB(18,59); "you wish to apply"; PRINT TAB(19,59); "this roll to."; PRINT TAB(21,59); "Press SPACE BAR"; PRINT TAB(22,59); "to post score."; ROW = 4 COL = 14 INDEX = 1 DIR = 1 MARK: IF SCORE(INDEX)<>-1 AND DIR=0 THEN GOTO UP IF SCORE(INDEX)<>-1 THEN GOTO DOWN CALL GET'SCORE PRINT TAB(ROW,COL+6); TAB(-1,33); TAB(ROW,COL); TAB(-1,32); PRINT USING "#####", SCORE; PRINT TAB(-1,33); GET: XCALL YATZEE, CHAR CHAR = UCS(CHAR) IF CHAR=CHR(11) THEN GOTO UP IF CHAR=CHR(10) OR CHAR=CHR(13) THEN GOTO DOWN IF CHAR=" " OR CHAR="Y" THEN GOTO RECORD IF CHAR="Q" OR CHAR=CHR(27) THEN GOTO QUIT IF (CHAR="R" OR CHAR=CHR(8) OR CHAR=CHR(12)) AND ROLLS=1 THEN GOTO BACK'1 IF (CHAR="R" OR CHAR=CHR(8) OR CHAR=CHR(12)) AND ROLLS=2 THEN GOTO BACK'2 PRINT CHR(7); GOTO GET BACK'1: PRINT TAB(ROW,COL); SPACE(7); CALL CLEAR'INSTRUCTIONS GOTO FR2 BACK'2: PRINT TAB(ROW,COL); SPACE(7); CALL CLEAR'INSTRUCTIONS GOTO SR2 UP: DIR = 0 IF SCORE(INDEX)=-1 THEN PRINT TAB(ROW,COL); SPACE(7); IF INDEX=1 THEN INDEX = 13 : ROW = 16 : COL = 45 : GOTO MARK INDEX = INDEX-1 ROW = ROW-2 IF INDEX<>6 THEN GOTO MARK ROW = 14 : COL = 14 GOTO MARK DOWN: DIR = 1 IF SCORE(INDEX)=-1 THEN PRINT TAB(ROW,COL); SPACE(7); IF INDEX=13 THEN INDEX = 1 : ROW = 4 : COL = 14 : GOTO MARK INDEX = INDEX+1 ROW = ROW+2 IF INDEX<>7 THEN GOTO MARK ROW = 4 : COL = 45 GOTO MARK RECORD: SCORE(INDEX) = SCORE SHOW'SCORE: PRINT TAB(ROW,COL); PRINT USING "###### ", SCORE(INDEX); TOP = 0 FOR I = 1 TO 6 IF SCORE(I)<>-1 THEN TOP = TOP+SCORE(I) NEXT I PRINT TAB(16,14); PRINT USING "######"; TOP; IF TOP>=63 THEN TOP = TOP+35 : PRINT TAB(18,14); " 35"; PRINT TAB(20,14); PRINT USING "######"; TOP; PRINT TAB(20,45); PRINT USING "######"; TOP; BOTTOM = 0 FOR I = 7 TO 13 IF SCORE(I)<>-1 THEN BOTTOM = BOTTOM+SCORE(I) NEXT I PRINT TAB(18,45); PRINT USING "######"; BOTTOM; PRINT TAB(20,45); PRINT USING "######"; TOP; PRINT TAB(22,45); PRINT USING "######"; TOP+BOTTOM; CALL CLEAR'INSTRUCTIONS GOTO MOVE END'GAME: LOOKUP "YATZEE.DAT", I IF I=0 THEN GOTO NEW'HIGH'SCORE OPEN #1, "YATZEE.DAT", INPUT INPUT #1, HIGH'SCORE, HIGH'NAME CLOSE #1 IF (TOP+BOTTOM)<=HIGH'SCORE THEN GOTO ANOTHER NEW'HIGH'SCORE: PRINT TAB(24,1); "New high score! Please enter your name: "; XCALL YATZEE, 24, 42, "*", 1, 30, "F", NAME, KEY ON KEY GOTO ANOTHER HIGH'SCORE = TOP+BOTTOM HIGH'NAME = NAME OPEN #1, "YATZEE.DAT", OUTPUT PRINT #1, STR(TOP+BOTTOM); PRINT #1, ","; CHR(34); NAME; CHR(34) CLOSE #1 ANOTHER: PRINT TAB(24,1); "Would you like to play again? "; TAB(-1,9); TAB(-1,28); A1: XCALL YATZEE, CHAR CHAR = UCS(CHAR) IF CHAR="Y" OR CHAR=" " OR CHAR=CHR(13) THEN GOTO NEW'GAME IF CHAR<>"N" AND CHAR<>"Q" AND CHAR<>CHR(27) THEN GOTO A1 ! GOTO QUIT QUIT: PRINT TAB(-1,28); TAB(-1,12); TAB(-1,0); END !********** !* SORT * !********** !Function: Sort rolls into ascending order SORT: I = 1 S1: IF I=5 THEN RETURN IF ROLL(I+1)>=ROLL(I) THEN GOTO S2 J = ROLL(I) ROLL(I) = ROLL(I+1) ROLL(I+1) = J IF I=1 THEN GOTO S1 I = I-1 GOTO S1 S2: I = I+1 GOTO S1 !************************ !* CLEAR'INSTRUCTIONS * !************************ !Clear instruction box text from screen CLEAR'INSTRUCTIONS: FOR ROW = 16 TO 22 PRINT TAB(ROW,59); SPACE(19); NEXT ROW RETURN !************** !* GET'ROLL * !************** !Function: (Re-)roll 1-5 dice based on FLAG(1) through FLAG(5) GET'ROLL: FOR I = 1 TO 5 IF FLAG(I)=0 THEN GOTO GR1 ROLL(I) = INT(RND(0)*6)+1 FLAG(I) = 0 GR1: NEXT I RETURN !*************** !* GET'SCORE * !*************** !Function: Calculate score, return in SCORE GET'SCORE: SCORE = 0 ON INDEX GOTO SCORE'1, SCORE'2, SCORE'3, SCORE'4, SCORE'5, SCORE'6, & SCORE'3K, SCORE'4K, SCORE'FH, SCORE'SS, SCORE'LS, SCORE'Y, SCORE'C END SCORE'1: FOR I = 1 TO 5 IF ROLL(I)=1 THEN SCORE = SCORE+1 NEXT I GOTO GS'RTN SCORE'2: FOR I = 1 TO 5 IF ROLL(I)=2 THEN SCORE = SCORE+2 NEXT I GOTO GS'RTN SCORE'3: FOR I = 1 TO 5 IF ROLL(I)=3 THEN SCORE = SCORE+3 NEXT I GOTO GS'RTN SCORE'4: FOR I = 1 TO 5 IF ROLL(I)=4 THEN SCORE = SCORE+4 NEXT I GOTO GS'RTN SCORE'5: FOR I = 1 TO 5 IF ROLL(I)=5 THEN SCORE = SCORE+5 NEXT I GOTO GS'RTN SCORE'6: FOR I = 1 TO 5 IF ROLL(I)=6 THEN SCORE = SCORE+6 NEXT I GOTO GS'RTN SCORE'3K: CALL SORT IF ROLL(1)=ROLL(2) AND ROLL(2)=ROLL(3) THEN GOTO SCORE'C IF ROLL(2)=ROLL(3) AND ROLL(3)=ROLL(4) THEN GOTO SCORE'C IF ROLL(3)=ROLL(4) AND ROLL(4)=ROLL(5) THEN GOTO SCORE'C GOTO GS'RTN SCORE'4K: CALL SORT IF ROLL(1)=ROLL(2) AND ROLL(2)=ROLL(3) AND ROLL(3)=ROLL(4) THEN GOTO SCORE'C IF ROLL(2)=ROLL(3) AND ROLL(3)=ROLL(4) AND ROLL(4)=ROLL(5) THEN GOTO SCORE'C GOTO GS'RTN SCORE'FH: CALL SORT IF ROLL(1)=ROLL(2) AND ROLL(3)=ROLL(4) AND ROLL(4)=ROLL(5) AND ROLL(1)<>ROLL(5) THEN SCORE = 25 : GOTO GS'RTN IF ROLL(4)=ROLL(5) AND ROLL(1)=ROLL(2) AND ROLL(2)=ROLL(3) AND ROLL(1)<>ROLL(5) THEN SCORE = 25 : GOTO GS'RTN GOTO GS'RTN SCORE'SS: CALL SORT STRING = "" FOR I = 1 TO 5 STRING = STRING+STR(ROLL(I)) NEXT I STRING = " "+STRING+" " FOR I = 1 TO 6 SS1: J = INSTR(1,STRING,STR(I)+STR(I)) IF J=0 THEN GOTO SS2 STRING = STRING[1,J-1]+STRING[J+1,LEN(STRING)] GOTO SS1 SS2: NEXT I STRING = STRING[2,LEN(STRING)-1] IF INSTR(1,STRING,"1234")>0 THEN SCORE = 30 : GOTO GS'RTN IF INSTR(1,STRING,"2345")>0 THEN SCORE = 30 : GOTO GS'RTN IF INSTR(1,STRING,"3456")>0 THEN SCORE = 30 : GOTO GS'RTN GOTO GS'RTN SCORE'LS: CALL SORT STRING = "" FOR I = 1 TO 5 STRING = STRING+STR(ROLL(I)) NEXT I IF STRING = "12345" THEN SCORE = 40 : GOTO GS'RTN IF STRING = "23456" THEN SCORE = 40 : GOTO GS'RTN GOTO GS'RTN SCORE'Y: IF ROLL(1)=ROLL(2) AND ROLL(2)=ROLL(3) AND ROLL(3)=ROLL(4) AND & ROLL(4)=ROLL(5) THEN SCORE = 50 GOTO GS'RTN SCORE'C: SCORE = ROLL(1)+ROLL(2)+ROLL(3)+ROLL(4)+ROLL(5) GS'RTN: RETURN !**************** !* BACKGROUND * !**************** !Display background screen BACKGROUND: PRINT TAB(-1,29); TAB(-1,24); TAB(-1,12); TAB(-1,0); TAB(1,47); PRINT TAB(-1,11); TAB(-1,23); TAB(-1,33); TAB(-1,33); TAB(-1,12); PRINT TAB(1,31); TAB(-1,11); TAB(-1,32); TAB(-1,12); TAB(-1,24); PRINT " Y A H T Z E E "; PRINT TAB(-1,11); TAB(-1,23); TAB(-1,33); TAB(-1,33); TAB(-1,12); PRINT TAB(3,1); TAB(-1,38); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,42); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,39); TAB(3,24); TAB(-1,24); PRINT " "; PRINT TAB(-1,23); TAB(-1,38); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,42); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,39); TAB(3,57); TAB(-1,38); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,39); TAB(4,1); TAB(-1,47); TAB(-1,24); PRINT " 1s"; PRINT TAB(4,12); TAB(-1,23); TAB(-1,47); TAB(4,21); TAB(-1,47); PRINT TAB(4,26); TAB(-1,47); TAB(4,28); TAB(-1,24); PRINT "3 of a kind"; PRINT TAB(4,41); PRINT "T"; PRINT TAB(4,43); TAB(-1,23); TAB(-1,47); TAB(4,52); TAB(-1,47); PRINT TAB(4,57); TAB(-1,47); TAB(-1,24); PRINT " DICE ROLLS "; PRINT TAB(-1,23); TAB(-1,47); TAB(5,1); TAB(-1,44); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(5,26); PRINT TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,43); TAB(5,57); TAB(-1,47); TAB(5,78); PRINT TAB(-1,47); TAB(6,1); TAB(-1,47); TAB(-1,24); PRINT " 2s"; PRINT TAB(6,12); TAB(-1,23); TAB(-1,47); TAB(6,21); TAB(-1,47); PRINT TAB(6,26); TAB(-1,47); TAB(6,28); TAB(-1,24); PRINT "4 of a kind"; PRINT TAB(6,41); PRINT "T"; PRINT TAB(6,43); TAB(-1,23); TAB(-1,47); TAB(6,52); TAB(-1,47); PRINT TAB(6,57); TAB(-1,47); TAB(6,59); TAB(-1,24); PRINT "1st"; PRINT TAB(6,78); TAB(-1,23); TAB(-1,47); TAB(7,1); TAB(-1,44); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); PRINT TAB(7,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(7,57); TAB(-1,47); PRINT TAB(7,59); TAB(-1,24); PRINT " "; PRINT TAB(7,78); TAB(-1,23); TAB(-1,47); TAB(8,1); TAB(-1,47); PRINT TAB(-1,24); PRINT " 3s"; PRINT TAB(8,12); TAB(-1,23); TAB(-1,47); TAB(8,21); TAB(-1,47); PRINT TAB(8,26); TAB(-1,47); TAB(8,28); TAB(-1,24); PRINT "Full House"; PRINT TAB(8,40); PRINT "25"; PRINT TAB(8,43); TAB(-1,23); TAB(-1,47); TAB(8,52); TAB(-1,47); PRINT TAB(8,57); TAB(-1,47); TAB(8,59); TAB(-1,24); PRINT "2nd"; PRINT TAB(8,78); TAB(-1,23); TAB(-1,47); TAB(9,1); TAB(-1,44); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); PRINT TAB(9,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(9,57); TAB(-1,47); PRINT TAB(9,78); TAB(-1,47); TAB(10,1); TAB(-1,47); TAB(-1,24); PRINT " 4s"; PRINT TAB(10,12); TAB(-1,23); TAB(-1,47); TAB(10,21); TAB(-1,47); PRINT TAB(10,26); TAB(-1,47); TAB(10,28); TAB(-1,24); PRINT "Small Stra. 30"; PRINT TAB(10,43); TAB(-1,23); TAB(-1,47); TAB(10,52); TAB(-1,47); PRINT TAB(10,57); TAB(-1,47); TAB(10,59); TAB(-1,24); PRINT "3rd"; PRINT TAB(10,78); TAB(-1,23); TAB(-1,47); TAB(11,1); TAB(-1,44); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); PRINT TAB(11,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(11,57); TAB(-1,40); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,41); TAB(12,1); TAB(-1,47); TAB(-1,24); PRINT " 5s"; PRINT TAB(12,12); TAB(-1,23); TAB(-1,47); TAB(12,21); TAB(-1,47); PRINT TAB(12,26); TAB(-1,47); TAB(12,28); TAB(-1,24); PRINT "Large Stra. 40"; PRINT TAB(12,43); TAB(-1,23); TAB(-1,47); TAB(12,52); TAB(-1,47); PRINT TAB(13,1); TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,43); TAB(13,26); TAB(-1,44); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); PRINT TAB(13,57); TAB(-1,38); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,39); TAB(14,1); TAB(-1,47); PRINT TAB(-1,24); PRINT " 6s"; PRINT TAB(14,12); TAB(-1,23); TAB(-1,47); TAB(14,21); TAB(-1,47); PRINT TAB(14,26); TAB(-1,47); TAB(14,28); TAB(-1,24); PRINT "Yahtzee"; PRINT TAB(14,40); PRINT "50"; PRINT TAB(14,43); TAB(-1,23); TAB(-1,47); TAB(14,52); TAB(-1,47); PRINT TAB(14,57); TAB(-1,47); TAB(-1,24); PRINT " INSTRUCTIONS "; PRINT TAB(-1,23); TAB(-1,47); TAB(15,1); TAB(-1,44); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(15,26); PRINT TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,43); TAB(15,57); TAB(-1,47); TAB(15,78); PRINT TAB(-1,47); TAB(16,1); TAB(-1,47); TAB(-1,24); PRINT " subtotal"; PRINT TAB(16,12); TAB(-1,23); TAB(-1,47); TAB(16,21); TAB(-1,47); PRINT TAB(16,26); TAB(-1,47); TAB(16,28); TAB(-1,24); PRINT "Chance"; PRINT TAB(16,41); PRINT "T"; PRINT TAB(16,43); TAB(-1,23); TAB(-1,47); TAB(16,52); TAB(-1,47); PRINT TAB(16,57); TAB(-1,47); TAB(16,78); TAB(-1,47); TAB(17,1); PRINT TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,43); TAB(17,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(17,57); PRINT TAB(-1,47); TAB(17,78); TAB(-1,47); TAB(18,1); TAB(-1,47); PRINT TAB(-1,24); PRINT " +35 (63) "; PRINT TAB(-1,23); TAB(-1,47); TAB(18,21); TAB(-1,47); TAB(18,26); PRINT TAB(-1,47); TAB(18,28); TAB(-1,24); PRINT "BOTTOM"; PRINT TAB(18,43); TAB(-1,23); TAB(-1,47); TAB(18,52); TAB(-1,47); PRINT TAB(18,57); TAB(-1,47); TAB(18,78); TAB(-1,47); TAB(19,1); PRINT TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,43); TAB(19,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(19,57); PRINT TAB(-1,47); TAB(19,78); TAB(-1,47); TAB(20,1); TAB(-1,47); PRINT TAB(-1,24); PRINT " TOP "; PRINT TAB(-1,23); TAB(-1,47); TAB(-1,24); PRINT " "; PRINT TAB(20,21); TAB(-1,23); TAB(-1,47); TAB(20,24); TAB(-1,24); PRINT " "; PRINT TAB(-1,23); TAB(-1,47); TAB(-1,24); PRINT " TOP"; PRINT TAB(20,43); TAB(-1,23); TAB(-1,47); TAB(20,52); TAB(-1,47); PRINT TAB(20,57); TAB(-1,47); TAB(20,78); TAB(-1,47); TAB(21,1); PRINT TAB(-1,44); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,48); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,43); TAB(21,26); TAB(-1,44); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,48); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,43); TAB(21,57); PRINT TAB(-1,47); TAB(21,78); TAB(-1,47); TAB(22,1); TAB(-1,47); PRINT TAB(-1,24); PRINT " "; PRINT TAB(-1,23); TAB(-1,47); TAB(-1,24); PRINT " "; PRINT TAB(22,21); TAB(-1,23); TAB(-1,47); TAB(22,24); TAB(-1,24); PRINT " "; PRINT TAB(-1,23); TAB(-1,47); TAB(-1,24); PRINT " SCORE"; PRINT TAB(22,43); TAB(-1,23); TAB(-1,47); TAB(22,52); TAB(-1,47); PRINT TAB(22,57); TAB(-1,47); TAB(22,78); TAB(-1,47); TAB(23,1); PRINT TAB(-1,40); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,45); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,41); TAB(23,24); TAB(-1,24); PRINT " "; PRINT TAB(-1,23); TAB(-1,40); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,45); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,41); TAB(23,57); TAB(-1,40); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); TAB(-1,46); PRINT TAB(-1,41); TAB(-1,28); TAB(-1,24); RETURN