10 FILL 32:VPRINT 5*80+20,"VIDEO CRAPS FROM HAWKEYE GRAFIX" 20 VPRINT 7*80+25,"COPYRIGHT (C) 1981" 30 CLEAR 3000 90 GOSUB 61000:REM BUILD TABLES, SET UP SCREEN VARIABLES 100 GOSUB 64000:REM OFFER INSTRUCTIONS 110 REM DRAW OUTLINES 120 FOR I=0 TO 29 130 READ X1,Y1,X2,Y2 140 GOSUB 63000 150 NEXT 160 REM DRAW BIG NUMBERS 170 FOR I=0 TO 5 180 X=I*10+87 190 Y=46 200 READ C 210 FOR C=C TO 0 STEP -1 220 READ X1,Y1,X2,Y2 230 DRAW X+X1,Y+Y1,X+X2,Y+Y2,1 240 NEXT C 250 NEXT I 260 RESTORE 61586 270 Y=80 280 FOR I=0 TO 1 290 X=149 300 Y=Y-15 310 READ C 320 FOR C=C TO 0 STEP -1 330 READ X1,Y1,X2,Y2 340 DRAW X+X1,Y+Y1,X+X2,Y+Y2,1 350 NEXT C 360 NEXT I 370 RESTORE 61650 380 REM DRAW DICE 390 FOR I=0 TO 7 400 READ X,Y,D1,D2 410 GOSUB 62000 420 NEXT I 430 REM PRINT WORDING AND LABELS 440 FOR I=0 TO 36 450 READ X,Y,D$ 460 VPRINT LL*Y+X,D$ 470 NEXT 480 SCROLL 19*LL+22,4,20 490 ST=1:REM SET GAME STATE WHERE 1=COME OUT, 2=SUBSEQUENT ROLL 1000 VPRINT -1,"" 1010 VPRINT -1,"PRESS KEY FOR BET" 1020 VPRINT -1,"OR RETURN TO ROLL"; 1030 K=CINP(3) 1040 VPRINT -1,"" 1050 IF K=13 THEN 10000 1060 IF K=3 THEN END 1070 FOR II=0 TO 30 1080 IF BT(II,0)=K THEN 1200 1090 NEXT 1100 VPRINT -1,"":VPRINT -1,"INVALID KEY" 1110 GOTO 1000 1120 VPRINT -1,"Bet can't be lifted." 1130 GOTO 1000 1140 VPRINT -1,"Betting limit is $99" 1150 GOTO 1000 1160 VPRINT -1,"Bet can't be cut.' 1170 GOTO 1000 1180 VPRINT -1,"There is no point." 1190 GOTO 1000 1200 ON II+1 GOTO 1230,1230,1230,1230,1230,1230,1230,1230,1230,1230,1230 1210 ON II-10 GOTO 1370,1370,1370,1370,1370,1370,1230,1230,1230,1230 1220 ON II-20 GOTO 1230,1230,1470,1570,1470,1570,1640,2080,1640,2080 1230 REM BET ALLOWED, CAN NOT BE LIFTED OR REDUCED 1240 IF PP=1 THEN GOSUB 60000:REM DISPLAY BETTING PROMPTS 1250 VINPUT -1,"Amount of bet";B 1260 VPRINT -1,"" 1270 ON SGN(B)+2 GOTO 1120,1000,1280 1280 IF B>99 THEN 1140 1290 IF B55 THEN PT=PT-1:REM ADJUST 8,9,0 DOWN FOR NO GAPS 1750 PT=PT-52:REM CHANGE ASCII 4 TO BINARY 0 1760 IF (PT<0) OR (PT>5) THEN 1100:REM INVALID INPUT 1770 IF C(SGN(II-27),1,PT)>0 THEN 1830:REM TEST FOR FLAT BET ON POINT 1780 VPRINT -1,"" 1790 VPRINT -1,"You must have a flat" 1800 VPRINT -1,"bet to make odds" 1810 VPRINT -1,"upon." 1820 GOTO 1530 1830 VPRINT -1,"" 1840 VPRINT -1,"" 1850 VPRINT -1,"Your flat bet on" 1860 IF PT=5 THEN VPRINT -1,"1"; 1870 VPRINT -1,CHR$(PR);" is";C(SGN(II-27),1,PT);"dollars." 1880 IF PP=1 THEN VPRINT -1,"Odds are";B2(II-27,PT,2);"to";B2(II-27,PT,1) 1890 VINPUT -1,"Amount of bet";B 1900 VPRINT -1,"" 1910 IF B=0 THEN 1000 1920 BR=BR+B2(II-27,PT,3) 1930 B2(II-27,PT,3)=0 1940 VPRINT B2(II-27,PT,0)," " 1950 IF B<0 THEN 1000 1960 MB=INT(C(SGN(II-27),1,PT)/B2(II-27,PT,1)+.5)*B2(II-27,PT,1) 1970 IF B<=MB THEN 2020 1980 VPRINT -1,"Your odds bet is" 1990 VPRINT -1,"too large for your" 2000 VPRINT -1,"flat bet." 2010 GOTO 1530 2020 IF B>99 THEN 1140 2030 BR=BR-B 2040 B2(II-27,PT,3)=B 2050 B$=STR$(B) 2060 VPRINT B2(II-27,PT,0),B$ 2070 GOTO 1000 2080 REM ODDS ON PASS / DON'T PASS BET 2090 IF PP=1 THEN GOSUB 60000 2100 IF PP=1 THEN VINPUT -1,"Press 'RETURN'";, LINE A$ 2110 IF ST=1 THEN 1180 2120 IF BT(II-4,4)=0 THEN 1780:REM NO FLAT BET 2130 VPRINT -1,"" 2140 VPRINT -1,"" 2150 VPRINT -1,"Your flat bet is" 2160 VPRINT -1,BT(II-4,4);"dollars." 2170 IF PP=1 THEN VPRINT -1,"Odds are";B2(II-27,PN,2);"to";B2(II-27,PN,1) 2180 VINPUT -1,"Amount of bet";B 2190 VPRINT -1,"" 2200 IF B=0 THEN 1000 2210 BR=BR+BT(II,4) 2220 BT(II,4)=0 2230 VPRINT BT(II,1)," " 2240 IF BT<0 THEN 1000 2250 MB=INT(BT(II-4,4)/B2(II-27,PN,1)+.5)*B2(II-27,PN,1) 2260 IF B>MB THEN 1980 2270 IF B>99 THEN 1140 2280 GOTO 1300 10000 FOR I=0 TO 3 10010 VPRINT -1,"" 10020 NEXT 10030 RANDOMIZE 10040 D1=INT(RND(1)*6+1) 10050 D2=INT(RND(1)*6+1) 10060 X=34:Y=19 10070 GOSUB 62000 10080 FOR I=0 TO 1000:NEXT :REM LET HIM SEE THE DICE 10090 DT=D1+D2 10100 TP=DT 10110 IF TP=7 THEN TP=-1 10120 IF TP>6 THEN TP=TP-1 10130 TP=TP-4 10140 IF TP>5 THEN TP=-1 10150 IF TP<0 THEN TP=-1 10160 FOR II=0 TO 22 10170 IF BT(II,4)>0 THEN GOSUB 11530 10180 NEXT 10190 IF (DT<4) OR (DT=12) THEN CP=1 ELSE CP=0 10200 IF (DT=7) OR (DT=11) THEN CW=1 ELSE CW=0 10210 REM PASS BET 10220 II=26 10230 IF BT(II,4)=0 THEN 10300:REM NO BET 10240 IF ST=2 THEN 10280:REM NOT COME OUT ROLL 10250 IF CP=1 THEN GOSUB 10880:REM CRAPPED OUT 10260 IF CW=1 THEN GOSUB 10820:REM WINNER ON COME OUT 10270 GOTO 10300 10280 IF DT=7 THEN GOSUB 10880:REM SEVENED OUT 10290 IF TP=PN THEN GOSUB 10820:REM MADE POINT 10300 REM DON'T PASS BET 10310 II=24 10320 IF BT(II,4)=0 THEN 10390:REM NO BET 10330 IF ST=2 THEN 10370:REM NOT COME OUT 10340 IF DT<4 THEN GOSUB 10820:REM WIN FOR CRAP OUT, BAR 12 10350 IF CW=1 THEN GOSUB 10880:REM LOSE FOR 7 OR 11 10360 GOTO 10390 10370 IF DT=7 THEN GOSUB 10820:REM WIN FOR SEVEN OUT 10380 IF TP=PN THEN GOSUB 10880:REM LOSE FOR POINT MADE 10390 REM COME BETS WITH POINT DETERMINED 10400 IF TP=-1 THEN 10470 10410 REM DO WINNER FIRST 10420 II=23 10430 IF C(0,1,TP)<>0 THEN GOSUB 10940:REM MADE A POINT 10440 REM DON'T COME LOSER 10450 II=25 10460 IF C(1,1,TP)<>0 THEN GOSUB 11000:REM MADE POINT 10470 IF DT<>7 THEN 10600 10480 REM SEVEN OUT,ALL POINTS LOSE 10490 TT=TP:REM SAVE POINT 10500 II=23 10510 FOR TP=0 TO 5 10520 GOSUB 11000 10530 NEXT 10540 REM NOW,DON'T COME WINNERS 10550 II=25 10560 FOR TP=0 TO 5 10570 GOSUB 10940 10580 NEXT 10590 TP=TT 10600 REM NOW, COME OUT ROLL FOR COME BET 10610 II=23 10620 IF BT(II,4)=0 THEN 10700 10630 IF CP=1 THEN GOSUB 10880 10640 IF CW=1 THEN GOSUB 10820 10650 IF BT(II,4)=0 THEN 10700 10660 C(0,1,TP)=BT(II,4) 10670 VPRINT BT(II,1)," " 10680 VPRINT C(0,0,TP),STR$(BT(II,4)) 10690 BT(II,4)=0 10700 REM NOW, COME OUT ROLL FOR DON'T COME BET 10710 II=25 10720 IF BT(II,4)=0 THEN 10800 10730 IF DT<4 THEN GOSUB 10820 10740 IF CW=1 THEN GOSUB 10880 10750 IF BT(II,4)=0 THEN 10800 10760 C(1,1,TP)=BT(II,4) 10770 VPRINT BT(II,1)," " 10780 VPRINT C(1,0,TP),STR$(BT(II,4)) 10790 BT(II,4)=0 10800 REM DONE, SET STATE AND POINT 10810 GOTO 11060 10820 REM PASS OR DON'T PASS WINNER 10830 IF BT(II+4,4)=0 THEN 10870 10840 BR=BR+BT(II+4,4) 10850 BR=BR+INT(BT(II+4,4)/B2(II-23,PN,1))*B2(II-23,PN,2) 10860 BR=BR+BT(II+4,4)-(INT(BT(II+4,4)/B2(II-23,PN,1)))*B2(II-23,PN,1) 10870 BR=BR+BT(II,4)*2 10880 REM PASS OR DON'T PASS LOSER 10890 BT(II,4)=0 10900 VPRINT BT(II,1)," " 10910 BT(II+4,4)=0 10920 VPRINT BT(II+4,1)," " 10930 RETURN 10940 REM COME OR DON'T COME WINNER ON POINT 10950 IF B2(II-23,TP,3)=0 THEN 10990 10960 BR=BR+B2(II-23,TP,3) 10970 BR=BR+INT(B2(II-23,TP,3)/B2(II-23,TP,1))*B2(II-23,TP,2) 10980 BR=BR+B2(II-23,TP,3)-(INT(B2(II-23,TP,3)/B2(II-23,TP,1)))*B2(II-23,TP,1) 10990 BR=BR+C(SGN(II-23),1,TP)*2 11000 REM COME OR DON'T COME LOSER ON POINT 11010 B2(II-23,TP,3)=0 11020 VPRINT B2(II-23,TP,0)," " 11030 C(SGN(II-23),1,TP)=0 11040 VPRINT C(SGN(II-23),0,TP)," " 11050 RETURN 11060 IF ST=2 THEN 11300 11070 IF CP=1 THEN 1340 11080 IF CW=1 THEN 1340 11090 ST=2 11100 PN=TP 11110 REM SHOW POINT IN REVERSE 11120 ON PN GOTO 11140,11150,11160,11170,11180 11130 RESTORE 61556:GOTO 11190 11140 RESTORE 61570:GOTO 11190 11150 RESTORE 61584:GOTO 11190 11160 RESTORE 61600:GOTO 11190 11170 RESTORE 61618:GOTO 11190 11180 RESTORE 61634 11190 X=PN*10+87 11200 Y=46 11210 FOR I=47 TO 39 STEP -1 11220 DRAW X-1,I,X+6,I,1 11230 NEXT 11240 READ C 11250 FOR C=C TO 0 STEP -1 11260 READ X1,Y1,X2,Y2 11270 DRAW X+X1,Y+Y1,X+X2,Y+Y2,0 11280 NEXT C 11290 GOTO 1340 11300 IF TP=PN THEN 11330 11310 IF DT=7 THEN 11330 11320 GOTO 1340 11330 ST=1 11340 REM RESTORE OLD POINT DISPLAY 11350 ON PN GOTO 11370,11380,11390,11400,11410 11360 RESTORE 61556:GOTO 11420 11370 RESTORE 61570:GOTO 11420 11380 RESTORE 61584:GOTO 11420 11390 RESTORE 61600:GOTO 11420 11400 RESTORE 61618:GOTO 11420 11410 RESTORE 61634 11420 X=PN*10+87 11430 Y=46 11440 FOR I=47 TO 39 STEP -1 11450 DRAW X-1,I,X+6,I,0 11460 NEXT 11470 READ C 11480 FOR C=C TO 0 STEP -1 11490 READ X1,Y1,X2,Y2 11500 DRAW X+X1,Y+Y1,X+X2,Y+Y2,1 11510 NEXT C 11520 GOTO 1340 11530 ON II+1 GOTO 11560,11680,11710,11740,11770,11800,11830,11860,11890,11930,11950 11540 ON II-10 GOTO 11970,11990,12010,12030,12050,12070,12010,12030,12090,12130 11550 ON II-20 GOTO 12170,12210 11560 REM FIELD BET 11570 BT(II,3)=1 11580 IF DT=2 THEN BT(II,3)=2 11590 IF DT=12 THEN BT(II,3)=3 11600 IF (DT>4) AND (DT<9) THEN BT(II,4)=0 11610 REM STANDARD PAYOFF ROUTINE 11620 VPRINT BT(II,1)," " 11630 BR=BR+BT(II,4) 11640 BR=BR+INT(BT(II,4)/BT(II,2))*BT(II,3) 11650 BR=BR+BT(II,4)-(INT(BT(II,4)/BT(II,2)))*BT(II,2) 11660 BT(II,4)=0 11670 RETURN 11680 REM ANY CRAPS 11690 IF (DT>3) AND (DT<12) THEN BT(II,4)=0 11700 GOTO 11620 11710 REM SEVEN 11720 IF DT<>7 THEN BT(II,4)=0 11730 GOTO 11620 11740 REM THREE 11750 IF DT<>3 THEN BT(II,4)=0 11760 GOTO 11620 11770 REM SNAKE EYES 11780 IF DT<>2 THEN BT(II,4)=0 11790 GOTO 11620 11800 REM BOXCARS 11810 IF DT<>12 THEN BT(II,4)=0 11820 GOTO 11620 11830 REM ELEVEN 11840 IF DT<>11 THEN BT(II,4)=0 11850 GOTO 11620 11860 REM HORN 11870 IF (DT>3) AND (DT<11) THEN BT(II,4)=0 11880 GOTO 11620 11890 REM C 11900 IF (DT<4) OR (DT=12) THEN 11620 11910 IF DT=7 THEN BT(II,4)=0:GOTO 11620 11920 RETURN 11930 REM E 11940 IF DT=11 THEN 11620 ELSE 11910 11950 REM C&E 11960 IF (DT<4) OR (DT>10) THEN 11620 ELSE 11910 11970 REM PLACE 4 11980 IF DT=4 THEN 11620 ELSE 11910 11990 REM PLACE 5 12000 IF DT=5 THEN 11620 ELSE 11910 12010 REM PLACE 6 OR BIG 6 12020 IF DT=6 THEN 11620 ELSE 11910 12030 REM PLACE 8 OR BIG 8 12040 IF DT=8 THEN 11620 ELSE 11910 12050 REM PLACE 9 12060 IF DT=9 THEN 11620 ELSE 11910 12070 REM PLACE 10 12080 IF DT=10 THEN 11620 ELSE 11910 12090 REM 3-3 12100 IF (D1=3) AND (D2=3) THEN 11620 12110 IF DT=6 THEN BT(II,4)=0:GOTO 11620 12120 GOTO 11910 12130 REM 5-5 12140 IF (D1=5) AND (D2=5) THEN 11620 12150 IF DT=10 THEN BT(II,4)=0:GOTO 11620 12160 GOTO 11910 12170 REM 4-4 12180 IF (D1=4) AND (D2=4) THEN 11620 12190 IF DT=8 THEN BT(II,4)=0:GOTO 11620 12200 GOTO 11910 12210 REM 2-2 12220 IF (D1=2) AND (D2=2) THEN 11620 12230 IF DT=4 THEN BT(II,4)=0:GOTO 11620 12240 GOTO 11910 60000 REM PRINT BETTING PROMPTS 60002 VPRINT -1,"" 60004 FOR I=0 TO 2 60006 VPRINT -1,O$(II,I) 60008 NEXT 60010 RETURN 61000 REM DEFINE USE OF CONTROL TABLE BT 61002 REM FIELDS ARE AS FOLLOWS 61004 REM (0) IS KEYBOARD KEY TO PRESS FOR THIS BET 61006 REM (1) IS VIDEO PRINT ADDRESS OF BET VALUE 61008 REM (2) IS PAYOFF DIVISOR 61010 REM (3) IS PAYOFF MULTIPLIER 61012 REM (4) IS CURRENT BET 61014 DIM BT(30,4) 61016 REM LOAD PRIMARY ARRAY BT 61018 RESTORE 61104 61020 FOR I=0 TO 30 61022 FOR J=0 TO 3 61024 READ BT(I,J) 61026 NEXT J,I 61028 REM B2 IS SECONDARY TABLE FOR FREE ODDS BETS 61030 REM (0) IS BET (COME, DON'T PASS, DON'T COME, PASS) 61032 REM (1) IS POINT (4,5,6,8,9,10) 61034 REM (2) IS 0 FOR ADDRESS, 1 FOR DIVIDE BY, 2 FOR MULTIPLY BY, 3 FOR BET 61036 DIM B2(3,5,3) 61038 FOR I=0 TO 3 61040 FOR J=0 TO 5 61042 FOR K=0 TO 2 61044 READ B2(I,J,K) 61046 NEXT K,J,I 61048 REM B$IS BET NAME ARRAY 61050 DIM B$(30) 61052 FOR I=0 TO 30 61054 READ B$(I) 61056 NEXT 61058 REM BUILD POSITION ARRAY FOR COME BETS 61060 REM FIRST INDEX IS 0 FOR COME AND 1 FOR DON'T COME 61062 REM SECOND INDEX IS 0 FOR ADDRESS, 1 FOR BET 61064 REM THIRD INDEX IS 0-5 FOR POINT POSITION, DATA IS BET OR ADDRESS 61066 FOR I=0 TO 1 61068 FOR J=0 TO 5 61070 READ C(I,0,J) 61072 NEXT J,I 61074 DIM O$(30,2) 61076 REM BUILD SHORT INSTRUCTION BLOCKS 61078 FOR I=0 TO 30 61080 FOR J=0 TO 2 61082 READ O$(I,J) 61084 NEXT J,I 61086 REM CLEAR SCREEN AND SET CONSTANTS 61088 FILL 32 61090 VA=PEEK(&106)*256+PEEK(&105) 61092 U0=VA 61094 LL=PEEK(&107) 61096 U3=LL 61098 POKE VA+&7FF,12 61100 RETURN 61102 REM DATA FOR ODDS AND PRINT POSITIONS 61104 DATA 70,1349,1,1 61106 DATA 65,198,1,7 61108 DATA 55,173,1,4 61110 DATA 87,1371,1,14 61112 DATA 88,1385,1,29 61114 DATA 89,1399,1,29 61116 DATA 90,1776,1,14 61118 DATA 72,1810,1,4 61120 DATA 73,1818,1,2 61122 DATA 74,1826,1,3 61124 DATA 75,1836,1,1 61126 DATA 52,204,5,9 61128 DATA 53,209,5,7 61130 DATA 54,214,6,7 61132 DATA 56,219,6,7 61134 DATA 57,224,5,7 61136 DATA 48,229,5,9 61138 DATA 81,476,1,1 61140 DATA 82,876,1,1 61142 DATA 83,576,1,9 61144 DATA 84,597,1,7 61146 DATA 85,976,1,9 61148 DATA 86,997,1,7 61150 DATA 67,1010,1,1 61152 DATA 68,1656,1,1 61154 DATA 77,1176,1,1 61156 DATA 80,1490,1,1 61158 DATA 66,1029,0,0 61160 DATA 69,1669,0,0 61162 DATA 78,1189,0,0 61164 DATA 79,1509,0,0 61166 REM DATA FOR SECONDARY ODDS BETS 61168 DATA 364,1,2 61170 DATA 369,2,3 61172 DATA 374,5,6 61174 DATA 379,5,6 61176 DATA 384,2,3 61178 DATA 389,1,2 61180 DATA 1669,2,1 61182 DATA 1669,3,2 61184 DATA 1669,6,5 61186 DATA 1669,6,5 61188 DATA 1669,3,2 61190 DATA 1669,2,1 61192 DATA 524,2,1 61194 DATA 529,3,2 61196 DATA 534,6,5 61198 DATA 539,6,5 61200 DATA 544,3,2 61202 DATA 549,2,1 61204 DATA 1509,1,2 61206 DATA 1509,2,3 61208 DATA 1509,5,6 61210 DATA 1509,5,6 61212 DATA 1509,2,3 61214 DATA 1509,1,2 61216 REM DATA FOR LAYOUT DISPLAY NAMES AND ODDS 61218 DATA "FIELD" 61220 DATA "ANY CRAPS" 61222 DATA "7" 61224 DATA "2-1" 61226 DATA "1-1" 61228 DATA "6-6" 61230 DATA "6-5" 61232 DATA "HORN" 61234 DATA "C" 61236 DATA "E" 61238 DATA "C&E" 61240 DATA "4" 61242 DATA "5" 61244 DATA "6" 61246 DATA "8" 61248 DATA "9" 61250 DATA "10" 61252 DATA "BIG 6" 61254 DATA "BIG 8" 61256 DATA "3-3" 61258 DATA "5-5" 61260 DATA "4-4" 61262 DATA "2-2" 61264 DATA "COME" 61266 DATA "DON'T PASS" 61268 DATA "DON'T COME" 61270 DATA "PASS" 61272 DATA "ODDS" 61274 DATA "ODDS" 61276 DATA "ODDS" 61278 DATA "ODDS" 61280 REM DATA FOR COME/DON'T COME POSITIONS 61282 DATA 284 61284 DATA 289 61286 DATA 294 61288 DATA 299 61290 DATA 304 61292 DATA 309 61294 DATA 444 61296 DATA 449 61298 DATA 454 61300 DATA 459 61302 DATA 464 61304 DATA 469 61306 REM DATA FOR INSTRUCTION DISPLAY 61308 DATA "FIELD:Pays 1:1 if" 61310 DATA "next roll is 3,4, or" 61312 DATA "9-11;2:1/2;3:1/12." 61314 DATA "ANY CRAPS:Pays 8 for" 61316 DATA "1 if next roll is" 61318 DATA "2, 3, or 12." 61320 DATA "SEVEN:Pays 5 for 1" 61322 DATA "if next roll is 7." 61324 DATA "" 61326 DATA "THREE:Pays 15 for 1" 61328 DATA "if next roll is 3." 61330 DATA "" 61332 DATA "SNAKE EYES:Pays 30" 61334 DATA "for 1 if next roll" 61336 DATA "is 2." 61338 DATA "BOXCARS:Pays 30 for" 61340 DATA "1 if next roll is" 61342 DATA "12." 61344 DATA "ELEVEN:Pays 15 for 1" 61346 DATA "if next roll is 11." 61348 DATA "" 61350 DATA "HORN:Pays 5 for 1 if" 61352 DATA "next roll is 2,3,11," 61354 DATA "or 12." 61356 DATA "C:Pays 3 for 1 if 2," 61358 DATA "3, or 12 before 7." 61360 DATA "" 61362 DATA "E:Pays 4 for 1 if 11" 61364 DATA "before 7." 61366 DATA "" 61368 DATA "C&E:Pays 1:1 if 2,3," 61370 DATA "11, or 12 before 7." 61372 DATA "" 61374 DATA "PLACE 4:Pays 9:5 if" 61376 DATA "4 before 7." 61378 DATA "" 61380 DATA "PLACE 5:Pays 7:5 if" 61382 DATA "5 before 7." 61384 DATA "" 61386 DATA "PLACE 6:Pays 7:6 if" 61388 DATA "6 before 7." 61390 DATA "" 61392 DATA "PLACE 8:Pays 7:6 if" 61394 DATA "8 before 7." 61396 DATA "" 61398 DATA "PLACE 9:Pays 7:5 if" 61400 DATA "9 before 7." 61402 DATA "" 61404 DATA "PLACE 10:Pays 9:5 if" 61406 DATA "10 before 7." 61408 DATA "" 61410 DATA "BIG 6:Pays 1:1 if 6" 61412 DATA "before 7." 61414 DATA "" 61416 DATA "BIG 8:Pays 1:1 if 8" 61418 DATA "before 7." 61420 DATA "" 61422 DATA "HARD 6:Pays 10 for 1" 61424 DATA "if 3-3 before 7 or" 61426 DATA "any other 6." 61428 DATA "HARD 10:Pays 8 for 1" 61430 DATA "if 5-5 before 7 or" 61432 DATA "any other 10." 61434 DATA "HARD 8:Pays 10 for 1" 61436 DATA "if 4-4 before 7 or" 61438 DATA "any other 8." 61440 DATA "HARD 4:Pays 8 for 1" 61442 DATA "if 2-2 before 7 or" 61444 DATA "any other 4." 61446 DATA "COME:Pays 1:1 with" 61448 DATA "next roll as a new" 61450 DATA "come out." 61452 DATA "DON'T PASS:Pays 1:1" 61454 DATA "if shooter loses. A" 61456 DATA "12 does not count." 61458 DATA "DON'T COME:Pays 1:1" 61460 DATA "if next roll starts" 61462 DATA "losing game (Bar 12)" 61464 DATA "PASS:Pays 1:1 if" 61466 DATA "shooter wins next" 61468 DATA "game." 61470 DATA "COME ODDS:Pays odds" 61472 DATA "on a COME bet." 61474 DATA "" 61476 DATA "DONT'T PASS ODDS:Pays" 61478 DATA "odds if shooter" 61480 DATA "loses." 61482 DATA "DON'T COME ODDS:Pays" 61484 DATA "odds if DON'T COME" 61486 DATA "bet wins." 61488 DATA "PASS ODDS:Pays odds" 61490 DATA "if shooter wins." 61492 DATA "" 61494 REM DATA FOR BLOCK OUTLINES 61496 DATA 0,1,79,1 61498 DATA 79,1,79,23 61500 DATA 79,23,0,23 61502 DATA 0,23,0,1 61504 DATA 42,1,42,23 61506 DATA 0,3,42,3 61508 DATA 0,8,42,8 61510 DATA 0,13,42,13 61512 DATA 0,18,42,18 61514 DATA 21,1,21,13 61516 DATA 14,13,14,18 61518 DATA 28,13,28,18 61520 DATA 21,18,21,23 61522 DATA 72,6,79,6 61524 DATA 42,7,72,7 61526 DATA 42,11,79,11 61528 DATA 42,13,79,13 61530 DATA 42,15,79,15 61532 DATA 42,17,79,17 61534 DATA 42,19,79,19 61536 DATA 42,21,79,21 61538 DATA 47,1,47,11 61540 DATA 52,1,52,11 61542 DATA 57,1,57,11 61544 DATA 62,1,62,11 61546 DATA 67,1,67,11 61548 DATA 72,1,72,11 61550 DATA 53,21,53,23 61552 DATA 61,21,61,23 61554 DATA 69,21,69,23 61556 REM DATA FOR FOUR 61558 DATA 4 61560 DATA 3,0,3,-6 61562 DATA 2,-1,2,-1 61564 DATA 1,-2,1,-2 61566 DATA 0,-3,0,-3 61568 DATA 0,-4,5,-4 61570 REM DATA FOR FIVE 61572 DATA 4 61574 DATA 0,0,5,0 61576 DATA 0,-1,0,-2 61578 DATA 0,-3,4,-3 61580 DATA 5,-4,5,-5 61582 DATA 0,-6,4,-6 61584 REM DATA FOR SIX 61586 DATA 5 61588 DATA 5,-1,5,-1 61590 DATA 4,0,1,0 61592 DATA 0,-1,0,-5 61594 DATA 1,-6,4,-6 61596 DATA 5,-5,5,-4 61598 DATA 4,-3,1,-3 61600 REM DATA FOR EIGHT 61602 DATA 6 61604 DATA 1,0,4,0 61606 DATA 1,-3,4,-3 61608 DATA 1,-6,4,-6 61610 DATA 0,-1,0,-2 61612 DATA 0,-4,0,-5 61614 DATA 5,-1,5,-2 61616 DATA 5,-4,5,-5 61618 REM DATA FOR NINE 61620 DATA 5 61622 DATA 0,-5,0,-5 61624 DATA 1,-6,4,-6 61626 DATA 5,-5,5,-1 61628 DATA 4,0,1,0 61630 DATA 0,-1,0,-2 61632 DATA 1,-3,4,-3 61634 REM DATA FOR TEN 61636 DATA 4 61638 DATA 0,0,0,-6 61640 DATA 2,-1,2,-5 61642 DATA 5,-1,5,-5 61644 DATA 3,0,4,0 61646 DATA 3,-6,4,-6 61648 REM DATA FOR DICE ILLUSTRATIONS 61650 DATA 7,4,3,3 61652 DATA 28,4,5,5 61654 DATA 7,9,4,4 61656 DATA 28,9,2,2 61658 DATA 2,14,1,2 61660 DATA 16,14,1,1 61662 DATA 30,14,6,6 61664 DATA 7,19,6,5 61666 REM DATA FOR ODDS AND BETS 61668 DATA 1,2,"5:1 SEVEN 7" 61670 DATA 22,2,"8:1 ANY CRAPS a" 61672 DATA 9,7,"10:1 s" 61674 DATA 30,7,"8:1 t" 61676 DATA 9,12,"10:1 u" 61678 DATA 30,12,"8:1 v" 61680 DATA 4,17,"15:1 w" 61682 DATA 18,17,"30:1 x" 61684 DATA 32,17,"30:1 y" 61686 DATA 9,22,"15:1 z" 61688 DATA 43,2,"4" 61690 DATA 48,2,"5" 61692 DATA 53,2,"6" 61694 DATA 58,2,"8" 61696 DATA 63,2,"9" 61698 DATA 68,2,"0" 61700 DATA 73,2,"B" 61702 DATA 73,3,"I" 61704 DATA 73,4,"G" 61706 DATA 74,5,"q" 61708 DATA 73,7,"B" 61710 DATA 73,8,"I" 61712 DATA 73,9,"G" 61714 DATA 74,10,"r" 61716 DATA 43,14,"DON'T COME m" 61718 DATA 62,14,"ODDS n" 61720 DATA 43,12,"COME c" 61722 DATA 62,12,"ODDS b" 61724 DATA 43,16,"FIELD 2-3-4-9-10-11-12 f" 61726 DATA 43,18,"PASS p" 61728 DATA 62,18,"ODDS o" 61730 DATA 43,20,"DON'T PASS d" 61732 DATA 62,20,"ODDS e" 61734 DATA 43,22,"HORN h" 61736 DATA 54,22,"C i" 61738 DATA 62,22,"E j" 61740 DATA 70,22,"C&E k" 62000 REM DRAW DICE AT X,Y WITH VALUES D1 AND D2 62002 X1=X*2 62004 X2=X1+6 62006 PD=0 62008 DD=D1 62010 YS=(23-Y)*3 62012 FOR Y1=YS TO YS-6 STEP -1 62014 DRAW X1,Y1,X2,Y1,1 62016 NEXT 62018 ON DD GOTO 62022,62024,62028,62034,62042,62052 62020 GOTO 62064 62022 PLOT X1+3,YS-3,0:GOTO 62064 62024 PLOT X1+1,YS-1,0 62026 PLOT X1+5,YS-5,0:GOTO 62064 62028 PLOT X1+1,YS-1,0 62030 PLOT X1+3,YS-3,0 62032 PLOT X1+5,YS-5,0:GOTO 62064 62034 PLOT X1+1,YS-1,0 62036 PLOT X1+5,YS-1,0 62038 PLOT X1+1,YS-5,0 62040 PLOT X1+5,YS-5,0:GOTO 62064 62042 PLOT X1+3,YS-3,0 62044 PLOT X1+1,YS-1,0 62046 PLOT X1+5,YS-1,0 62048 PLOT X1+1,YS-5,0 62050 PLOT X1+5,YS-5,0:GOTO 62064 62052 PLOT X1+1,YS-1,0 62054 PLOT X1+5,YS-1,0 62056 PLOT X1+1,YS-5,0 62058 PLOT X1+5,YS-5,0 62060 PLOT X1+1,YS-3,0 62062 PLOT X1+5,YS-3,0 62064 IF PD=1 THEN RETURN 62066 PD=1 62068 DD=D2 62070 X1=X1+8 62072 X2=X1+6 62074 GOTO 62010 63000 GOTO 63024:REM DRAW X1,Y1 TO X2,Y2 63002 GOTO 63026:REM DRAW TO X2,Y2 FROM END OF LAST LINE 63004 REM X1,Y1,X2,Y2 SPECIFY LINE, WHERE Y IS LINE NUMBER AND X IS COLUMN 63006 REM U0=VIDEO ADDRESS 63008 REM U1=END OF LAST LINE,X 63010 REM U2=END OF LAST LINE,Y 63012 REM U3=LINE LENGTH 63014 REM U4=START ADDRESS 63016 REM U5=STOP ADDRESS 63018 REM U6=INCREMENT 63020 REM U7=BIT TO SET 63022 REM U8 AND U9 ARE VARIABLES 63024 U1=X1:U2=Y1 63026 U4=U0+U2*U3+U1 63028 U5=U0+Y2*U3+X2 63030 IF U5&F0 THEN U9=&F0 63064 POKE U8,U9 OR U7 63066 RETURN 64000 REM OFFER INSTRUCTIONS, AND SET PROMPT MODE 64002 PP=0:REM SET OFF PROMPTS IF NO INSTRUCTIONS 64004 SCROLL 0,PEEK(&108),LL 64006 VPRINT 10*LL,"Would you like instructions (Y/N)?" 64008 A=CINP(3) 64010 FILL 32 64012 IF A<>&59 THEN RETURN 64014 VPRINT -1,"" 64016 VPRINT -1,"This is a simulation of a Las Vegas style game of craps." 64018 VPRINT -1," " 64020 VPRINT -1,"Craps is a dice game. The first roll of each game determines" 64022 VPRINT -1,"the point to play. If the first roll is 7 or 11, the game is won." 64024 VPRINT -1,"If the first roll is 2, 3, or 12, the game is lost. The other rolls" 64026 VPRINT -1,"(4,5,6,8,9,10) establish the point. The roller of the dice (shooter)" 64028 VPRINT -1,"continues to roll the dice until either the established point occurs" 64030 VPRINT -1,"again, to win, or the dice come up 7, to lose." 64032 VPRINT -1,"" 64034 VPRINT -1,"The simplest form of betting is the PASS line. A wager must be placed" 64036 VPRINT -1,"before the dice are thrown to start a game. The bettor wins if the shooter" 64038 VPRINT -1,"wins, and loses if the shooter loses. The bettor may place additional" 64040 VPRINT -1,"bets on the board as the game progresses. Some bets are for the next roll" 64042 VPRINT -1,"of the dice only, and others for a longer period. If you are unfamiliar" 64044 VPRINT -1,"with the different wagers, respond 'Y' to the offer of bet prompts. This will" 64046 VPRINT -1,"cause a short explanation of each bet to print when you indicate a desire" 64048 VPRINT -1,"to place the bet." 64050 VPRINT -1,"" 64052 VINPUT -1,"Now press return for the next page of instructions.";, LINE A$ 64054 FILL 32 64056 VPRINT -1,"" 64058 VPRINT -1,"On the dice table layout, each box indicates a different wager. To the" 64060 VPRINT -1,"right of each wager is either a one digit number, or a letter in lower" 64062 VPRINT -1,"case. To make that wager, key the number or letter (key letters in upper case)." 64064 VPRINT -1,"If the wager is currently permitted, you will be asked how much you wish" 64066 VPRINT -1,"to wager. An entry of 0 means no bet, or no change to an existing bet." 64068 VPRINT -1,"An entry in the range of 1 to 99 means place a bet of that amount." 64070 VPRINT -1,"An entry of -1 indicates to lift (remove) a wager. Normally only the ODDS" 64072 VPRINT -1,"or PLACE bets can be lifted. If you try to place a bet when it is not" 64074 VPRINT -1,"allowed, a brief message will attempt to explain why your bet is not" 64076 VPRINT -1,"accepted. If you try to lift a bet which cannot be lifted, a message will" 64078 VPRINT -1,"inform you of that fact. When making PLACE or ODDS bets, the odds are" 64080 VPRINT -1,"noted if the prompts have been requested. Pay close attention to them when" 64082 VPRINT -1,"making these bets, since there are no fractional payoffs in craps. For" 64084 VPRINT -1,"example, if you make an ODDS bet on the point of 6, the odds are 6-5." 64086 VPRINT -1,"Your wager should be a multiple of 5 to collect the premium." 64088 VPRINT -1,"" 64090 VPRINT -1,"Would you like the betting prompts to appear (Y/N)?" 64092 A=CINP(3) 64094 IF A=(&59) THEN PP=1 64096 VPRINT -1,"" 64098 VPRINT -1,"" 64100 VINPUT -1,"Now press 'RETURN' to start the game.";, LINE A$ 64102 FILL 32 64104 RETURN 64106 REM LEAVE POINTERS TO SIMPLIFY RENUMBERING 64108 GOTO 1000,10000,60000,61000,62000,63000,64000