20 OPEN "SLOT.SCO" FOR OUTPUT AS #1: FOR X = 1 TO 10: DAY$(X) = DATE$: NA$(X) = STRING$(32, 46): SC(X) = 0: WRITE #1, DAY$(X), NA$(X), SC(X): NEXT X: CLOSE 1: RETURN
30 IF NS = 0 THEN t = TIMER: WHILE t + 1 > TIMER: WEND: RETURN
40 PLAY "T220L4C2O3B-AA2G+AA.G+AA2G+AO4CO3A.O4CO3B-1GP4G2F+GG2F+GB-.AGAO4C2.D2.DO3G.P4O4C2C2O3B-AA2G+AA.G+AA2G+AB-AGEG1FP4F2F2EFA-2GFO4F.O3FGAO4CP2P4O3CDAG2FO4F8": RETURN
50 IF NS = 0 THEN t = TIMER: WHILE t + 1 > TIMER: WEND: RETURN
60 PLAY "T200L2O4G.E.D.C.DC4O3AB4O4C.": RETURN
70 IF NS = 0 THEN t = TIMER: WHILE t + 1 > TIMER: WEND: RETURN
80 PLAY "T200L4O4EEEG8F8D2DDDF8E8C2EDCC8O3B8B2O4DCO3AA8G8G2": RETURN
90 IF NS THEN NS = 0: RETURN ELSE NS = 1: RETURN
100 LOCATE 14, 52, 0: PRINT "/";
110 Y = 52: FOR X = 13 TO 8 STEP -1: LOCATE X, Y, 0: PRINT "//"; : Y = Y + 1: NEXT X
120 FOR X = 7 TO 6 STEP -1: LOCATE X, 57, 0: PRINT STRING$(3, 178): NEXT X: RETURN
130 Y = 56: FOR X = 8 TO 12: LOCATE X, Y, 0: PRINT " ";
140 FOR X1 = X - 1 TO X: COLOR 15: LOCATE X1, Y, 0: PRINT STRING$(3, 178);
150 COLOR 0, 0: PRINT " ": LOCATE X1 - 2, Y + 1, 0: PRINT " ": NEXT X1
160 Y = Y - 1: t = TIMER: WHILE t + .1 > TIMER: WEND: NEXT X: IF NS THEN SOUND 400, .2: PLAY "p64": SOUND 400, .2
170 RETURN
180 COLOR 15, 0, 0: CLS
190 Y = 16: FOR X = 1 TO 18: LOCATE X, Y, 0: PRINT S$: NEXT X
200 X = 18: FOR Y = 17 TO 50: LOCATE X, Y, 0: PRINT B$: NEXT Y
210 Y = 51: FOR X = 18 TO 1 STEP -1: LOCATE X, Y, 0: PRINT S$: NEXT X
220 X = 1: FOR Y = 50 TO 17 STEP -1: LOCATE X, Y, 0: PRINT L$: NEXT Y
230 COLOR 1
240 FOR X = 2 TO 17: LOCATE X, 17, 0
250 FOR Z = 1 TO 17: PRINT CHR$(176); CHR$(176); : NEXT Z, X
260 LOCATE 3, 27, 0: COLOR 15: PRINT "Q U A R T E R";
270 GOSUB 100
280 X = 15: FOR Y = 24 TO 43: LOCATE X, Y, 0: PRINT L$: NEXT Y
290 FOR X = 15 TO 17: LOCATE X, 44, 0: PRINT S$: NEXT X
300 FOR Y = 43 TO 24 STEP -1: LOCATE 17, Y, 0: PRINT B$: NEXT Y
310 FOR X = 17 TO 15 STEP -1: LOCATE X, 23, 0: PRINT S$: NEXT X
320 COLOR 15, 0
330 FOR Y = 18 TO 26: LOCATE 5, Y, 0: PRINT L$: NEXT Y
340 FOR X = 5 TO 7: LOCATE X, 27, 0: PRINT S$: NEXT X
350 FOR Y = 26 TO 18 STEP -1: LOCATE 7, Y, 0: PRINT B$: NEXT Y
360 FOR X = 7 TO 5 STEP -1: LOCATE X, 18, 0: PRINT S$: NEXT X
370 FOR Y = 30 TO 37: LOCATE 5, Y, 0: PRINT L$: NEXT Y
380 FOR X = 5 TO 7: LOCATE X, 38, 0: PRINT S$: NEXT X
390 FOR Y = 37 TO 30 STEP -1: LOCATE 7, Y, 0: PRINT B$: NEXT Y
400 FOR X = 7 TO 5 STEP -1: LOCATE X, 29, 0: PRINT S$: NEXT X
410 FOR Y = 41 TO 48: LOCATE 5, Y, 0: PRINT L$: NEXT Y
420 FOR X = 5 TO 7: LOCATE X, 49, 0: PRINT S$: NEXT X
430 FOR Y = 48 TO 41 STEP -1: LOCATE 7, Y, 0: PRINT B$: NEXT Y
440 FOR X = 7 TO 5 STEP -1: LOCATE X, 40, 0: PRINT S$: NEXT X
450 C = 2: L$ = STR$(M): L = LEN(L$): S = L - 1: FOR X = L TO 1 STEP -1
451 IF MID$(L$, X, 1) = "." THEN S = L - C: GOTO 460
452 C = C + 1: NEXT X
460 IF S < 1 THEN S = 1
470 TOT$ = "$" + STRING$(S, "#") + ".## "
480 PA$ = " You now have ": L = (LEN(PA$) + LEN(TOT$)) / 2: LOCATE 21, 33 - L: PRINT PA$; USING TOT$; M
490 IF M = 0 THEN 1010
500 LOCATE 22, 18: PRINT "<ENTER>=PULL, <S>ound or <E>xit": PLAY "t120"
510 A$ = INKEY$: IF A$ = "S" OR A$ = "s" THEN GOSUB 90: GOTO 510
520 IF A$ = "E" OR A$ = "e" THEN 1010 ELSE IF A$ <> CHR$(13) THEN 510
530 COUNT = COUNT + 1: COLOR 7: Z$ = " (25) ": FOR X = 1 TO 8: LOCATE 3, 52: PRINT MID$(Z$, X, 9 - X): C = TIMER: WHILE C + .05 > TIMER: WEND
540 NEXT X: IF NS THEN SOUND 1000, .1: PLAY "p64": SOUND 2000, 1: PLAY "p64": SOUND 500, .5: SOUND 100, 1
550 LOCATE 21, 2: PRINT SPACE$(78): LOCATE 22, 13: PRINT SPACE$(42): GOSUB 130: FOR X = 11 TO 12: LOCATE X, 52: PRINT " ": NEXT X: COLOR 15, 0
560 LOCATE 16, 24: PRINT SPACE$(20); : GOSUB 100
570 FOR I = 1 TO 3: Z(I) = INT((RND * 10) + 1): NEXT I
580 FOR X = 1 TO 5: FOR Y = 1 TO 5: COLOR W(Y + 0): LOCATE 6, 19, 0: PRINT W$(Y + 0); : COLOR W(Y + 1)
590 LOCATE 6, 30, 0: PRINT W$(Y + 1); : COLOR W(Y + 2): LOCATE 6, 41, 0: PRINT W$(Y + 2); : IF NS THEN SOUND 2000, .1: PLAY "p64": SOUND 4000, .1: PLAY "p64": SOUND 2000, .1 ELSE PLAY "p24"
600 PLAY "p64": NEXT Y, X
610 COLOR V(Z(1)): LOCATE 6, 19, 0: PRINT V$(Z(1));
620 FOR X = 1 TO 4: FOR Y = 1 TO 4
630 COLOR W(Y + 0): LOCATE 6, 30, 0: PRINT W$(Y + 0); : COLOR W(Y + 1): LOCATE 6, 41, 0: PRINT W$(Y + 1); : IF NS THEN SOUND 4000, .1: PLAY "p64": SOUND 2000, .1 ELSE PLAY "p40"
640 PLAY "p28": NEXT Y, X
650 COLOR V1(Z(2)): LOCATE 6, 30, 0: PRINT V1$(Z(2));
660 FOR X = 1 TO 3: FOR Y = 1 TO 3
670 COLOR W(Y): LOCATE 6, 41, 0: PRINT W$(Y); : IF NS THEN SOUND 4000, .1: SOUND 2000, .1: PLAY "T200p64T120" ELSE PLAY "p64"
680 PLAY "P19": NEXT Y, X
690 COLOR V3(Z(3)): LOCATE 6, 41, 0: PRINT V3$(Z(3));
700 COLOR 5
710 IF V$(Z(1)) <> V1$(Z(2)) THEN 850
720 IF V$(Z(1)) = " ORANGE " AND V3$(Z(3)) = " *$$$$* " THEN 840
730 IF V1$(Z(2)) <> V3$(Z(3)) THEN 850
740 IF V$(Z(1)) <> " CHERRY " THEN 760
750 LOCATE 16, 24: PRINT " YOU WIN $ 5.00 ": M = M + 4.75: GOSUB 70: GOTO 450
760 IF V$(Z(1)) <> " PLUM " THEN 780
770 LOCATE 16, 24: PRINT " YOU WIN $10.00 ": M = M + 9.75: GOSUB 70: GOTO 450
780 IF V$(Z(1)) <> " ORANGE " THEN 800
790 LOCATE 16, 24: PRINT " YOU WIN $15.00 ": M = M + 14.75: GOSUB 70: GOTO 450
800 IF V$(Z(1)) <> " *$$$$* " THEN 820
810 LOCATE 16, 24: PRINT " YOU WIN $37.50 ": M = M + 37.25: GOSUB 30: GOTO 450
820 IF V$(Z(1)) <> " LEMON " THEN 850
830 LOCATE 16, 24: PRINT " YOU WIN $ 7.50 ": M = M + 7.25: GOSUB 70: GOTO 450
840 LOCATE 16, 24: PRINT " YOU WIN $25.00 ": M = M + 24.75: GOSUB 30: GOTO 450
850 IF V$(Z(1)) <> " CHERRY " THEN 890
860 IF V1$(Z(2)) <> " CHERRY " THEN 880
870 LOCATE 16, 24: PRINT " YOU WIN $1.00 ": M = M + .75: GOSUB 50: GOTO 450
880 LOCATE 16, 24: PRINT " YOU WIN $0.50 ": M = M + .25: GOSUB 50: GOTO 450
1120 LOCATE 21, 17 - ((LEN(TOT$) + LEN(TOT2$)) / 2), 0: PRINT "You have "; : PRINT USING TOT$; M; : PRINT " after"; COUNT; "pulls, you ";
1130 IF M < 25 THEN PRINT "lost "; USING TOT2$; ABS(M - 25) ELSE IF M > 25 THEN PRINT "won "; USING TOT2$; M - 25 ELSE IF M = 0 THEN PRINT "lost everything." ELSE IF M < 25 THEN PRINT "lost "; USING TOT2$; 25 - M
1140 COLOR 15: LOCATE 23, 19, 0: PRINT "Press <ANY KEY> for `Top Ten'"
1150 I$ = INKEY$: IF I$ > "" THEN 1150
1160 IF INKEY$ = "" THEN 1160
1170 CLS : LOCATE 3, 27: PRINT "S L O T'S `T O P T E N'": COLOR 30: LOCATE 23, 27: PRINT "Disk activity, please wait": COLOR 15
1180 ON ERROR GOTO 1340
1190 OPEN "SLOT.SCO" FOR INPUT AS #1
1200 FOR X = 1 TO 10: INPUT #1, DAY$(X), NA$(X), SC(X): NEXT X: CLOSE 1
1210 FLAG = 0: IF M > 25 AND M > SC(10) THEN DAY$(10) = DATE$: NA$(10) = N$: SC(10) = M: FLAG = 1 ELSE 1250
1220 FOR X1 = 1 TO 9: SK = 0: FOR Y1 = 9 TO X1 STEP -1: IF SC(Y1) >= SC(Y1 + 1) THEN 1240
1250 LOCATE 6: FOR X = 1 TO 10: PRINT TAB(7); DAY$(X); " > with "; USING "$#,###,###.##"; SC(X); : PRINT ", is "; NA$(X): NEXT X
1260 PA$ = N$ + ", your holdings are ": LOCATE 18, 40 - (LEN(PA$) + LEN(TOT$)) / 2: PRINT PA$; : PRINT USING TOT$; M
1270 LOCATE 20, 21: IF FLAG THEN COLOR 14: PRINT "Congratulations, you made the `TOP TEN' ": COLOR 15 ELSE PRINT " Cheer up, there is always another time "
1280 IF FLAG = 0 THEN 1310
1290 OPEN "SLOT.SCO" FOR OUTPUT AS #1
1300 FOR X = 1 TO 10: WRITE #1, DAY$(X), NA$(X), SC(X): NEXT X: CLOSE 1
1310 LOCATE 23, 15: PRINT "Press <E> to erase score, <ANY OTHER KEY> to exit "; : SOUND 3000, .1
1320 I$ = INKEY$: IF I$ = "" THEN 1320 ELSE IF I$ = "E" OR I$ = "e" THEN CLS : GOSUB 20: GOTO 1170
1330 CLS : END
1340 IF ERR = 53 THEN GOSUB 20: RESUME 1170
1350 IF ERR = 61 OR ERR = 70 OR ERR = 71 THEN LOCATE 11, 10: PRINT "Drive write protected, diskette has no free space or drive not ready,": PRINT : PRINT "Press any key to exit program:goto 1230"
1360 LOCATE 11, 10: PRINT "Error in line"; ERL: PRINT : PRINT TAB(10); "Error number"; ERR: PRINT : PRINT "Press any key to exit program"
1370 I$ = INKEY$: IF I$ > "" THEN 1370
1380 IF INKEY$ = "" THEN 1380
1390 CLS : END
1400 RETURN
1410 REM CONVERTED FOR IBM-PC FROM 101 BASIC COMPUTER GAMES BY DIGITAL
1420 REM EQUIPMENT CORP. SUBMITTED TO DIGITAL BY ROB HOFFBERG OF ROSLYN N.Y.
1430 REM AUTHOR UNKNOWN
1440 REM ENHANCED FOR COLOR AND SOUND BY ARNOLD THOMSEN OF SCOTTSDALE, AZ
1450 REM Further enhanced/errors corrected by James Huckabey of Bellingham, WA
1460 REM Colors/sound/payoffs/ also changed by James Huckabey + following REM's
1470 SCREEN 0: RANDOMIZE TIMER: WIDTH 80: KEY OFF: COLOR 14, 0, 0: CLS : PLAY "MF"
1490 DATA 5,10,12,4,14,5,5,12,4,10,14,12,4,5,12,5,14,4,14,4,12,4,14,10,12,5,14,5,12,14
1680 LOCATE 17, 28: COLOR 5: PRINT "C "; : COLOR 6: PRINT "O "; : COLOR 1: PRINT "L "; : COLOR 2: PRINT "O "; : COLOR 3: PRINT "R"; : COLOR 15: PRINT " V E R S I O N";