10 GOSUB 5010:REM **CLEAR AND HOME SCREEN ** 15 GOSUB 5110:REM **TURN CURSOR OFF ** 20 PRINT "========================================================================" 30 PRINT " SLOTS" 40 PRINT " CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 50 PRINT " Optimized for CDP1802 based COSMAC Elf systems using RC/BASIC-L2" 60 PRINT " SupportS VT100 terminals" 70 PRINT "========================================================================" 80 REM ** PRODUCED BY: FRED MIRABELLE AND BOB HARPER, 01-29-1973 ** 80 REM ** UPDATED BY: DAVE RUNKLE, 11-29-2015 ** 90 REM ** SIMULATES THE SLOT MACHINE ** 100 PRINT 110 PRINT "You are in the H&M Casino, in front of one of our ONE-ARM BANDITS. Bet" 120 PRINT "form $1 TO $100 in 1$ increments. To PULL the arm, punch the return key" 130 PRINT "after making you bet." 140 PRINT 150 PRINT "========================================================================" 160 INPUT "HIT ENTER TO BEGIN";Z$ 165 GOSUB 2000 168 LET P=0 170 REM ** MAIN LOOP ** 180 CX=1:CY=19:GOSUB 5170:PRINT P;" " 185 CX=1:CY=48:GOSUB 5170:PRINT " " 190 CX=1:CY=48:GOSUB 5170:INPUT M 195 IF M>100 GOTO 860 200 IF M<1 GOTO 880 210 GOSUB 1270 220 PRINT 230 LET X=RND(6)+1 240 LET Y=RND(6)+1 250 LET Z=RND(6)+1 260 CX=4:CY=22:GOSUB 5170 270 IF X=1 GOTO 910 280 IF X=2 GOTO 930 290 IF X=3 GOTO 950 300 IF X=4 GOTO 970 310 IF X=5 GOTO 990 320 IF X=6 GOTO 1010 330 IF Y=1 GOTO 1030 340 IF Y=2 GOTO 1050 350 IF Y=3 GOTO 1070 360 IF Y=4 GOTO 1090 370 IF Y=5 GOTO 1110 380 IF Y=6 GOTO 1130 390 IF Z=1 GOTO 1150 400 IF Z=2 GOTO 1170 410 IF Z=3 GOTO 1190 420 IF Z=4 GOTO 1210 430 IF Z=5 GOTO 1230 440 IF Z=6 GOTO 1250 450 CX=6:CY=20:GOSUB 5170 455 IF X=Y GOTO 600 460 IF X=Z GOTO 630 470 IF Y=Z GOTO 650 480 PRINT " - YOU LOST - " 500 LET P=P-M 540 GOTO 170 550 GOSUB 5010:REM **CLEAR AND HOME SCREEN ** 560 IF P<0 GOTO 670 570 IF P=0 GOTO 690 580 IF P>0 GOTO 710 590 GOTO 1350 600 IF Y=Z GOTO 730 610 IF Y=1 GOTO 820 620 GOTO 1341 630 IF Z=1 GOTO 820 640 GOTO 470 650 IF Z=1 GOTO 820 660 GOTO 1341 670 PRINT "PAY UP! PLEASE LEAVE YOUR MONEY ON THE TERMINAL." 680 GOTO 1350 690 PRINT"HEY, YOU BROKE EVEN." 700 GOTO 1350 710 PRINT "COLLECT YOUR WINNINGS FROM THE H&M CASHIER." 720 GOTO 1350 730 IF Z=1 GOTO 780 740 PRINT"YOU WON! **TOP DOLLAR** " 760 LET P=(((10*M)+M)+P) 770 GOTO 170 780 PRINT" YOU WON! ***JACKPOT*** " 800 LET P=(((100*M)+M)+P) 810 GOTO 170 820 PRINT" YOU WON! *DOUBLE BAR* " 840 LET P=(((5*M)+M)+P) 850 GOTO 170 860 PRINT"HOUSE LIMITS ARE $100" 870 GOTO 170 880 INPUT "DO you wish to quit";Z$ 885 LET A$=LEFT$(Z$,1) 890 IF A$="Y" GOTO 550 898 GOTO 170 900 GOTO 220 910 PRINT" BAR ";:GOSUB 1310 920 GOTO 330 930 PRINT" BELL ";:GOSUB 1310 940 GOTO 330 950 PRINT"ORANGE";:GOSUB 1310 960 GOTO 330 970 PRINT"LEMON ";:GOSUB 1310 980 GOTO 330 990 PRINT" PLUM ";:GOSUB 1310 1000 GOTO 330 1010 PRINT"CHERRY";:GOSUB 1310 1020 GOTO 330 1030 PRINT" BAR ";:GOSUB 1310 1040 GOTO 390 1050 PRINT" BELL ";:GOSUB 1310 1060 GOTO 390 1070 PRINT" ORANGE";:GOSUB 1310 1080 GOTO 390 1090 PRINT" LEMON ";:GOSUB 1310 1100 GOTO 390 1110 PRINT" PLUM ";:GOSUB 1310 1120 GOTO 390 1130 PRINT" CHERRY";:GOSUB 1310 1140 GOTO 390 1150 PRINT" BAR " 1160 GOTO 450 1170 PRINT" BELL " 1180 GOTO 450 1190 PRINT" ORANGE" 1200 GOTO 450 1210 PRINT" LEMON " 1220 GOTO 450 1230 PRINT" PLUM " 1240 GOTO 450 1250 PRINT" CHERRY" 1260 GOTO 450 1270 FOR Q4=1 TO 10 1280 PRINT CHR$(7); 1290 NEXT Q4 1300 RETURN 1310 FOR T8=1 TO 5 1320 PRINT CHR$(7); 1330 NEXT T8 1340 RETURN 1341 PRINT " YOU WON! DOUBLE!!! " 1343 LET P=(((2*M)+M)+P) 1344 GOTO 170 1350 GOSUB 5140:REM ** TURN CURSOR ON ** 1360 END 2000 REM ** DRAW SCREEN ** 2010 GOSUB 5010:REM **CLEAR AND HOME SCREEN ** 2020 CX=1:CY=1:GOSUB 5170:PRINT "Current balance: $" 2030 CX=1:CY=40:GOSUB 5170:PRINT "Your bet" 2999 RETURN 5000 REM ** VT100 CONTROL ROUTINES ** 5010 REM ** CLEAR SCREEN AND HOME 5020 GOSUB 5050 5030 GOSUB 5080 5040 RETURN 5050 REM ** HOME SCREEN ** 5060 PRINT CHR$(27);"[H"; 5070 RETURN 5080 REM ** CLEAR SCREEN ** 5090 PRINT CHR$(27);"[2J"; 5100 RETURN 5110 REM ** TURN OFF CURSOR ** 5120 PRINT CHR$(27);"[?25l"; 5130 RETURN 5140 REM ** TURN ON CURSOR ** 5150 PRINT CHR$(27);"[?25h"; 5160 RETURN 5170 REM ** POSSION CURSOR TO LOCAITON CX,CY ** 5180 LET X$=STR$(CX) 5190 LET Y$=STR$(CY) 5200 PRINT CHR$(27);"[";X$;";";Y$;"H"; 5210 RETURN