10 REM CRAPS 20 REM By Jonathan Ripley 30 ONERRORRUN 40 MODE7 50 VDU23,1,0;0;0;0;0; 60 PROCinit 70 PROCins 80 MODE5 90 VDU23,1,0;0;0;0;0; 100 PROCplay 110 END 120 DEFPROCins 130 CLS 140 PRINTTAB(17,2)"CRAPS"TAB(17,3)"-----"TAB(2,5)"THE GAME OF CRAPS IS PLAYED WITH TWO DICE. FIRST YOU BET AND THEN YOU THROW IF YOU GET A SCORE OF 7 OR 11 YOU WIN. BUT IF YOU THROW A 2, 3 OR 12 YOU LOSE." 150 PRINT'" YOU KEEP ON THROWING UNTIL YOU THROW THE SAME NUMBER YOU DID FIRST TIME (AND WIN) OR THROW A SEVEN (AND LOSE)." 160 PROCcont 170 CLS 180 ENDPROC 190 DEFPROCinit 200 VDU23,224,0,0,255,255,0,0,0,0 210 VDU23,225,48,48,48,48,48,48,48,48 220 VDU23,226,0,0,0,0,255,255,0,0 230 VDU23,227,0,0,248,252,12,12,12,12 240 VDU23,228,0,0,31,63,48,48,48,48 250 VDU23,229,12,12,12,12,252,248,0,0 260 VDU23,230,48,48,48,48,63,31,0,0 270 VDU23,231,12,12,12,12,12,12,12,12 280 money=500 290 A$=STRING$(3," ")+CHR$228+STRING$(3,CHR$224)+CHR$227+STRING$(4," ")+CHR$228+STRING$(3,CHR$224)+CHR$227 300 B$=STRING$(3," ")+CHR$225+STRING$(3," ")+CHR$231+STRING$(4," ")+CHR$225+STRING$(3," ")+CHR$231 310 C$=STRING$(3," ")+CHR$230+STRING$(3,CHR$226)+CHR$229+STRING$(4," ")+CHR$230+STRING$(3,CHR$226)+CHR$229 320 T=0 330 S=0 340 M=0 350 OK=0 360 ENDPROC 370 DEFPROCcont 380 PRINTTAB(7,24)"PRESS SPACE TO CONTINUE"; 390 REPEATUNTILGET=32 400 ENDPROC 410 DEFPROCplay 420 PRINTTAB(7,2)"CRAPS"TAB(7,3)"-----" 430 PRINTTAB(0,5)"CAPITAL=`";money 440 PROCdie 450 REPEAT 460 bet=FNbet 470 M=0 480 REPEAT 490 PROCroll 500 PROCcheck 510 FORD=0TO200:NEXT 520 IF OK=0 PRINTTAB(0,16)"TAP SPACE TO ROLL...":REPEATUNTILGET=32 530 PRINTTAB(0,16)STRING$(20," ") 540 UNTILOK=1 550 OK=0 560 PRINTTAB(0,7)STRING$(20," ") 570 M=0 580 PRINTTAB(9,5)STRING$(11," ")TAB(9,5);money 590 UNTILmoney=0 600 PROCend 610 ENDPROC 620 DEFPROCroll 630 FORthrow=0TORND(20)+20 640 SOUND1,-15,RND(100)+50,1 650 A=RND(6) 660 B=RND(6) 670 PRINTTAB(5,11);A 680 PRINTTAB(14,11);B 690 NEXT 700 C=A+B 710 ENDPROC 720 DEFPROCdie 730 PRINTTAB(0,9);A$'B$'B$'B$'C$ 740 ENDPROC 750 DEFFNbet 760 REPEAT 770 PRINTTAB(0,22)"NEXT BET:`";STRING$(100," ") 780 INPUTTAB(10,22)""bet 790 IF bet>money VDU7:PRINTTAB(0,16)"YOU CAN'T AFFORD IT!" 800 IF bet<1 VDU7:PRINTTAB(0,16)" TOO SMALL " 810 UNTIL bet>0 AND money>=bet 820 =bet 830 DEFPROCcheck 840 IF T=0 AND (C=7 OR C=11) PROCwin:S=1:OK=1 850 IF T=0 AND (C=2 OR C=3 OR C=12) PROClose:S=1:OK=1 860 IF T=0 AND S=0 PRINTTAB(0,7)"MAKING ";C;" BEFORE 7":M=C 870 IF T>0 AND C=7 PROClose:OK=1 880 IF T>0 AND C=M PROCwin:OK=1 890 T=T+1 900 IF M=-1 T=0 910 IF OK=1 M=0 920 S=0 930 ENDPROC 940 DEFPROCwin 950 PRINTTAB(0,16)" GOOD WIN! " 960 money=money+bet 970 T=-1 980 FORloop=0TO250STEP12.5 990 SOUND1,-15,loop,2 1000 NEXT 1010 IF money>1500000 PROCbroke 1020 ENDPROC 1030 DEFPROClose 1040 PRINTTAB(0,16)"BAD LUCK! YOU LOSE!" 1050 money=money-bet 1060 T=-1 1070 FORloop=250TO0STEP-12.5 1080 SOUND1,-15,loop,2 1090 NEXT 1100 ENDPROC 1110 DEFPROCend 1120 CLS 1130 PRINTTAB(6,2)"CRAPS"TAB(6,3)"-----" 1140 PRINTTAB(3,5)"YOU'RE BROKE!" 1150 PRINTTAB(0,9)"ANOTHER GO:Y/N "; 1160 REPEAT 1170 G$=GET$ 1180 UNTILINSTR("YNyn",G$,0)>0 1190 IF INSTR("Yy",G$,0) PRINT"YES":PROCreplay:ENDPROC 1200 IF INSTR("Nn",G$,0) PRINT"NO" 1210 VDU22,7 1220 REM CALL&8023 1225 END 1230 DEFPROCbroke 1240 CLS 1250 PRINTTAB(6,2)"CRAPS"TAB(6,3)"-----" 1260 FORX=0TO255STEP5 1270 SOUND1,-15,X,2 1280 NEXT 1290 PRINTTAB(4,6);"WELL DONE!"'" YOU BROKE THE BANK" 1300 PRINTTAB(0,9)"ANOTHER GO:Y/N "; 1310 G$=GET$ 1320 UNTILINSTR("YNyn",G$,0)>0 1330 IF INSTR("Yy",G$,0) PROCreplay:ENDPROC 1340 IF INSTR("Nn",G$,0) PRINT"NO" 1350 VDU22,7 1360 REM CALL&8023 1365 END 1370 DEFPROCreplay 1380 PROCinit 1390 PRINTTAB(5,30)"TAP SPACE"; 1400 REPEATUNTILGET=32 1410 CLS 1420 PROCplay 1430 ENDPROC