home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Generous Efforts of Many
/
gemcd.zip
/
GEM.CD.B.po
/
GAMES:BASIC.4
/
SLOTS.bas
< prev
next >
Wrap
BASIC Source File
|
2010-05-14
|
7KB
|
171 lines
100 REM :*** SLOTS ***
110 HOME
120 DIM R$(7),P$(3),W(3,9),C(3)
130 D = 0:B = 20:Y = 0:WT = 100
140 DATA "JACKPOT","CHERRY","LEMON","ORANGE","APPLE","PEAR","PEACH"
150 FOR R = 1 TO 7
160 READ R$(R): NEXT R
170 DATA 1,2,2,3,3,4,5,5,5
180 DATA 1,2,3,3,4,4,5,5,5
190 DATA 1,2,3,4,4,5,5,6,7
200 FOR X = 1 TO 3
210 FOR Y = 1 TO 9
220 READ W(X,Y)
230 NEXT Y
240 NEXT X
250 PRINT ,: FLASH : PRINT "$ S L O T S $": NORMAL
260 PRINT : PRINT : PRINT : PRINT ,"(6/21/84 J.G.)"
270 PRINT : PRINT : PRINT : PRINT : INPUT " (WANT COMPUTER TO PLAY YOUR $$ ? ) ";AA$: PRINT : PRINT : PRINT : PRINT
280 INPUT "NEED INSTRUCTIONS? (Y/N):";I$
290 IF I$ = "N" THEN GOTO 370
300 PRINT "JACKPOT--A SIMULATED SLOT"
310 PRINT "MACHINE. EACH PLAY IS $.25--"
320 PRINT : PRINT : PRINT "PAYOFFS: 3 OF A KIND,"
330 PRINT " 2 OF KIND (FIRST 2 WHEELS),"
340 PRINT " OR CHERRIES LAST 2 WHEELS."
350 PRINT : PRINT : PRINT "OBJECTS ARE JACKPOTS,CHERRIES,LEMONS,ORANGES,APPLES,PEARS,& PEACHES."
360 PRINT : PRINT
370 IF D <0 THEN PRINT "YOU OWE HOUSE $";D * -1
380 IF D > = 0 THEN PRINT "HOUSE OWES YOU $";D
390 IF I$ = "QUIT" THEN I$ = "": GOTO 900
400 IF AA$ <"Y" THEN INPUT " 'Q'= QUIT ... <RETURN> = PLAY ";G$
410 IF G$ = "Q" THEN GOTO 890
420 HOME
425 IF D >MX THEN MX = D
427 IF D <MN THEN MN = D
430 NN = NN +1: PRINT " THE LEVER HAS BEEN PULLED... "NN," $ "D,"$ ("MX"/"MN")"
440 D = D -.25:B = B +.25
450 FOR R = 1 TO 3
460 C(R) = INT(9 * RND(1) +1)
470 P$(R) = R$(W(R,C(R)))
480 M = 1 +13 *(R -1)
490 FOR V = 4 TO 18
500 VTAB (V): HTAB (M): PRINT "|": NEXT V
510 IF P$(R) = "JACKPOT" THEN GOSUB 980
520 IF P$(R) = "CHERRY" THEN GOSUB 1130
530 IF P$(R) = "LEMON" THEN GOSUB 1240
540 IF P$(R) = "ORANGE" THEN GOSUB 1310
550 IF P$(R) = "APPLE" THEN GOSUB 1420
560 IF P$(R) = "PEAR" THEN GOSUB 1530
570 IF P$(R) = "PEACH" THEN GOSUB 1680
580 VTAB (18): HTAB (M +3): PRINT P$(R)
590 BZ = 49200: FOR BB = 1 TO 3:ZZ = PEEK(BZ): NEXT BB: REM BUZZ SOUND
600 NEXT R
610 FOR V = 4 TO 18
620 VTAB (V): HTAB (40): PRINT "|": NEXT V
630 PRINT
640 IF P$(1) = P$(2) AND P$(1) < >P$(3) THEN 690
650 IF P$(1) = P$(2) AND P$(1) = P$(3) THEN 700
660 IF P$(2) = "CHERRY" AND P$(3) = "CHERRY" THEN 760
670 S = 49200: FOR BR = 1 TO 20:BT = PEEK(S) + PEEK(S) + PEEK(S) + PEEK(S): NEXT : REM BUZZ SOUND
680 INVERSE : PRINT " YOU LOSE !!! ": NORMAL : FOR T = 1 TO WT: NEXT T: GOTO 370
690 I = .1: GOTO 770
700 IF P$(1) = "JACKPOT" THEN I = .75
710 IF P$(1) = "CHERRY" THEN I = .55
720 IF P$(1) = "LEMON" THEN I = .4
730 IF P$(1) = "ORANGE" THEN I = .4
740 IF P$(1) = "APPLE" THEN I = .3
750 GOTO 770
760 I = .2
770 P1 = B *.4
780 P2 = P1 *I
790 Y = INT(P2/.25) *.25
800 FLASH : PRINT " YOU WIN !!! --- $";Y: NORMAL
810 FOR BL = 1 TO Y/.25: CALL -1052: NEXT BL: FOR T = 1 TO WT: NEXT T: REM BELL SOUND
820 D = D +Y
830 B = B -Y
840 IF B < = 0 THEN 870
850 Y = 0
860 GOTO 370
870 PRINT "YOU HAVE BROKEN THE BANK !!!"
880 STOP
890 I$ = "QUIT": GOTO 370
900 PRINT "THE JACKPOT STANDS AT $";B
910 D = 0: PRINT : PRINT " NEW GAME !!": PRINT : GOTO 400
920 REM : HOUSE STARTS WITH $20.;ODDS ARE SET IN 530-600; PAYOUTS VARY AS AMOUNT IN JACKPOT (610-630).THESE ARE FAIRLY HIGH.
930 REM : CAN CHANGE ODDS FOR PAYOUTS BY CHANGING I VALUES.
940 REM : DATA SHOW WHEEL 1 HAS 1 JACKPOT,2 CHERRIES, 2 LEMONS, 1 ORANGE, & 3 APPLES.
950 REM : WHEEL 2 HAS 1 JACKPOT, 1 CHERRY, 2 LEMONS, 2 ORANGES, AND 3 APPLES.
960 REM : WHEEL 3 HAS 1 JACKPOT, 1 CHERRY, 1 LEMON, 2 ORANGES, 2 APPLES, 1 PEAR, AND 1 PEACH.
970 END
980 VTAB (5): HTAB (M +2): PRINT "**********"
990 REM : DRAW JACKPOT THEN RETURN.
1000 VTAB (6): HTAB (M +2): PRINT "* *"
1010 VTAB (7): HTAB (M +2): PRINT "* *"
1020 VTAB (8): HTAB (M +2): PRINT "**********"
1030 VTAB (9): HTAB (M +2): PRINT "* *"
1040 VTAB (10): HTAB (M +2): PRINT "* ||$$ *"
1050 VTAB (11): HTAB (M +2): PRINT "* $$|| *"
1060 VTAB (12): HTAB (M +2): PRINT "* $$||$$ *"
1070 VTAB (13): HTAB (M +2): PRINT "* ||$$ *"
1080 VTAB (14): HTAB (M +2): PRINT "* $$|| *"
1090 VTAB (15): HTAB (M +2): PRINT "* *"
1100 VTAB (16): HTAB (M +2): PRINT "* *"
1110 VTAB (17): HTAB (M +2): PRINT "**********"
1120 RETURN
1130 REM :DRAW CHERRY 5-17,12 MAX WIDE.
1140 VTAB (5): HTAB (M +9): PRINT "/"
1150 HTAB (M +8): PRINT "/"
1160 HTAB (M +4): PRINT "** /"
1170 HTAB (M +3): PRINT "* * **"
1180 HTAB (M +3): PRINT "* ** *"
1190 HTAB (M +3): PRINT " ** * *"
1200 HTAB (M +3): PRINT "* * **"
1210 HTAB (M +3): PRINT "* *"
1220 HTAB (M +3): PRINT " **"
1230 RETURN
1240 REM :DRAWLEMON5-17,M+1-12.
1250 VTAB (9): HTAB (M +2): PRINT " <<<>>>"
1260 HTAB (M +2): PRINT " < >"
1270 HTAB (M +2): PRINT "< >"
1280 HTAB (M +2): PRINT " < >"
1290 HTAB (M +2): PRINT " <<<>>>"
1300 RETURN
1310 REM :SUB TO DRAW ORANGE,V5-17,M+1-11.
1320 VTAB (7): HTAB (M +2): PRINT " ****"
1330 HTAB (M +2): PRINT " *....*"
1340 HTAB (M +2): PRINT " *......*"
1350 HTAB (M +2): PRINT "*........*"
1360 HTAB (M +2): PRINT "*........*"
1370 HTAB (M +2): PRINT "*........*"
1380 HTAB (M +2): PRINT " *......*"
1390 HTAB (M +2): PRINT " *....*"
1400 HTAB (M +2): PRINT " ****"
1410 RETURN
1420 REM :SUB TO DRAW APPLE,V5-17,M+1-12.
1430 VTAB (5): HTAB (M +4): PRINT "** /"
1440 HTAB (M +2): PRINT " * */ **"
1450 HTAB (M +2): PRINT "* ** *"
1460 HTAB (M +2): PRINT "* *"
1470 HTAB (M +2): PRINT "* *"
1480 HTAB (M +2): PRINT " * *"
1490 HTAB (M +2): PRINT " * *"
1500 HTAB (M +2): PRINT " * * *"
1510 HTAB (M +2): PRINT " * **"
1520 RETURN
1530 REM : SUB TO DRAW PEAR,V5-17,M+1-12.
1540 VTAB (5): HTAB (M +5): PRINT "00 00"
1550 HTAB (M +2): PRINT " 0 0 0"
1560 HTAB (M +2): PRINT " 0 0"
1570 HTAB (M +2): PRINT " 0 0"
1580 HTAB (M +2): PRINT " 0 0"
1590 HTAB (M +2): PRINT " 0 0"
1600 HTAB (M +2): PRINT " 0 0"
1610 HTAB (M +2): PRINT "0 0"
1620 HTAB (M +2): PRINT "0 0"
1630 HTAB (M +2): PRINT "0 0"
1640 HTAB (M +2): PRINT " 0 0"
1650 HTAB (M +2): PRINT " 0 0"
1660 HTAB (M +2): PRINT " 00000"
1670 RETURN
1680 REM :SUB DRAW PEACH,V5-17,M+1-12.
1690 VTAB (6): HTAB (M +5): PRINT "## ##"
1700 HTAB (M +2): PRINT " # # #"
1710 HTAB (M +2): PRINT " # # #"
1720 HTAB (M +2): PRINT "# # #"
1730 HTAB (M +2): PRINT "# # #"
1740 HTAB (M +2): PRINT "# # #"
1750 HTAB (M +2): PRINT " # # #"
1760 HTAB (M +2): PRINT " # # #"
1770 HTAB (M +2): PRINT " ## ##"
1780 RETURN