ZX Jackpot (Slot-Machine)

Developer(s): Rick Blewitt
Date: March 1984
Type: Program
Platform(s): TS 1000

Appears on

Cassette to accompany the March 1984 issue of Synchro-Sette.

Source Code

  10 REM "JACKPOT" BY RICK BLEWITT
  20 SLOW 
 100 DIM L$(80)
 110 DIM C$(80)
 120 DIM O$(80)
 130 DIM P$(80)
 140 DIM B$(80)
 150 DIM J$(80)
 160 DIM X$(80)
 170 LET Z=1
 180 LET W=0
 190 DIM T(6)
 200 GOSUB 3000
 300 PRINT AT 3,7;"WELCOME TO ZX JACKPOT"
 305 LET K=5
 310 LET X$=J$
 320 FOR R=1 TO 73 STEP 8
 330 LET C=R+7
 340 PRINT AT K,12;X$(R TO C)
 350 PRINT AT K,1;X$(R TO C)
 360 PRINT AT K,23;X$(R TO C)
 370 LET K=K+1
 375 NEXT R
 380 PRINT AT 21,8;"GET READY TO PLAY"
 385 PAUSE 200
 390 CLS 
 400 PRINT "HOW MANY NICKLES DO YOU WANT TO PLAY?"
 405 PRINT AT 5,0;"INPUT NUMBER OF PLAYS--",,"THEN PRESS ENTER"
 410 INPUT T(6)
 500 DIM R(3)
 520 DIM A$(10,10)
 600 LET R(1)=INT (RND*10+1)
 602 CLS 
 603 LET T(6)=T(6)-1
 610 IF R(1)<3 THEN LET T(1)=1
 611 IF T(1)=1 THEN LET A=1
 612 IF R(1)<3 THEN GOTO 690
 615 IF R(1)=3 THEN LET T(1)=60
 617 IF T(1)=60 THEN LET A=4
 618 IF R(1)=3 THEN GOTO 690
 620 IF R(1)=4 OR R(1)=5 THEN LET T(1)=2
 621 IF T(1)=2 THEN LET A=2
 622 IF R(1)=4 OR R(1)=5 THEN GOTO 690
 630 IF R(1)=6 THEN LET T(1)=10
 631 IF T(1)=10 THEN LET A=3
 632 IF R(1)=6 THEN GOTO 690
 640 IF R(1)=7 THEN LET T(1)=14
 641 IF T(1)=14 THEN LET A=4
 642 IF R(1)=7 THEN GOTO 690
 645 IF R(1)=8 OR R(1)=9 THEN LET T(1)=18
 646 IF T(1)=18 THEN LET A=5
 647 IF R(1)>10 THEN GOTO 690
 650 IF R(1)=10 THEN LET T(1)=20
 651 IF T(1)=20 THEN LET A=6
 690 LET T(5)=T(1)
 695 LET J=1
 700 GOSUB 4000
 710 LET R(2)=INT (RND*10+1)
 720 IF R(2)=1 THEN LET T(2)=1
 721 IF T(2)=1 THEN LET A=1
 722 IF R(2)=1 THEN GOTO 790
 725 IF R(2)=2 THEN LET T(2)=60
 727 IF T(2)=60 THEN LET A=4
 728 IF R(2)=2 THEN GOTO 790
 730 IF R(2)=3 THEN LET T(2)=2
 731 IF T(2)=2 THEN LET A=2
 732 IF R(2)=3 THEN GOTO 790
 740 IF R(2)=4 OR R(2)=5 OR R(2)=6 THEN LET T(2)=10
 741 IF T(2)=10 THEN LET A=3
 742 IF R(2)<7 THEN GOTO 790
 750 IF R(2)=7 OR R(2)=8 THEN LET T(2)=14
 751 IF T(2)=14 THEN LET A=4
 752 IF R(2)<9 THEN GOTO 790
 760 IF R(2)=9 THEN LET T(2)=18
 761 IF T(2)=18 THEN LET A=5
 770 IF R(2)=10 THEN LET T(2)=20
 771 IF T(2)=20 THEN LET A=6
 790 LET T(5)=T(2)
 795 LET J=12
 800 GOSUB 4000
 810 LET R(3)=INT (RND*10+1)
 820 IF R(3)=1 THEN LET T(3)=1
 821 IF R(3)=1 THEN LET A=1
 822 IF R(3)=1 THEN GOTO 890
 823 IF R(3)=2 THEN LET A=6
 824 IF R(3)=2 THEN LET T(3)=20
 825 IF R(3)<3 THEN GOTO 890
 830 IF R(3)=3 OR R(3)=4 OR R(3)=5 THEN LET T(3)=10
 831 IF T(3)=10 THEN LET A=3
 832 IF T(3)=10 THEN GOTO 890
 835 IF R(3)=6 THEN LET T(3)=60
 837 IF T(3)=60 THEN LET A=4
 838 IF R(3)<7 THEN GOTO 890
 840 IF R(3)=7 OR R(3)=8 THEN LET T(3)=14
 841 IF T(3)=14 THEN LET A=4
 842 IF T(3)=14 THEN GOTO 890
 850 IF R(3)=9 THEN LET T(3)=18
 851 IF T(3)=18 THEN LET A=5
 852 IF T(3)=18 THEN GOTO 890
 860 IF R(3)=10 THEN LET T(3)=20
 861 IF T(3)=20 THEN LET A=6
 890 LET T(5)=T(3)
 891 LET J=23
 892 LET W=3
 895 GOSUB 4000
 900 GOTO 2000
 910 PAUSE 300
 990 GOTO 600
2000 LET T(4)=T(1)+T(2)+T(3)
2010 IF T(1)<>2 THEN GOTO 2100
2020 IF T(2)=2 THEN GOTO 2050
2030 PRINT AT 4,1;"ONE CHERRY WINS 10 CENTS"
2035 LET T(6)=T(6)+2
2040 GOTO 2600
2050 PRINT AT 4,1;"TWO CHERRIES WIN 25 CENTS"
2060 LET T(6)=T(6)+5
2070 GOTO 2600
2100 IF T(4)<30 THEN GOTO 2590
2105 IF T(1)<>T(2) THEN GOTO 2590
2110 IF T(4)=30 OR T(4)=40 THEN GOTO 2500
2120 IF T(4)=42 OR T(4)=48 THEN GOTO 2450
2130 IF T(4)=54 OR T(4)=56 THEN GOTO 2400
2140 IF T(4)=60 OR T(4)=140 THEN GOTO 2350
2150 IF T(4)=180 THEN GOTO 2350
2190 GOTO 2590
2350 PRINT AT 4,1;"*****JACKPOT*****PAYS 40 NICKLES"
2360 LET T(6)=T(6)+40
2365 IF T(4)=60 OR T(4)=140 THEN GOTO 2600
2370 IF T(4)=180 THEN PRINT AT 5,1;"***3 STARS=JACKPOT + BONUS"
2375 LET B=INT (RND*50+10)
2380 PRINT AT 6,6;"BONUS = ";B;" NICKLES"
2385 LET T(6)=T(6)+B
2390 GOTO 600
2400 IF T(3)=14 THEN GOTO 2590
2405 PRINT AT 4,1;"THREE BELLS PAY 18 NICKLES"
2410 LET T(6)=T(6)+18
2420 GOTO 2600
2450 PRINT AT 4,1;"THREE PLUMS PAY 14 NICKLES"
2460 LET T(6)=T(6)+14
2470 GOTO 2600
2500 PRINT AT 4,1;"THREE ORANGES PAY 10 NICKLES"
2510 LET T(6)=T(6)+10
2520 GOTO 2600
2590 PRINT AT 4,1;"SORRY: YOU LOSE"
2600 PRINT AT 2,1;"PLAY NICKLE JACKPOT";" PLAY NO. ";Z
2620 IF T(6)=1 THEN PRINT AT 20,1;"YOU ARE DOWN TO THE LAST TRY."
2621 IF T(6)<>1 THEN PRINT AT 20,1;"YOU HAVE ";T(6);" NICKLES LEFT"
2625 IF T(6)>0 THEN GOTO 2650
2630 PRINT AT 20,1;"YOU ARE BROKE, GET SOME MORE    MONEY AND PLAY AGAIN."
2640 STOP 
2650 PRINT "     PLAY AGAIN"
2660 LET Z=Z+1
2690 PAUSE 100
2700 GOTO 600
3000 LET C$="*********   \:   **   \:   **  \.'\'.  ** \.'  \'. **\.:\:.  \.:\:.*\ '% % \' \ '% % \' *\ '\'   \ '\' *\,,\,,\,,\,,\,,\,,\,,\,,\@@CHERRY\@@"
3100 LET L$="*********      **  \..\..  **\ .\:'\' \ '\':\. **\':\.   \ .\:'** \''\:.\.:\'' **      **      *\,,\,,\,,\,,\,,\,,\,,\,,\@@LEMON:\@@"
3200 LET O$="********* \..\:'\':\.. **\ :\'   \ '\: **\:'    \':**\:     \ :**\':    \:'**\ '\:   \ :\' ** \''\:.\.:\'' *\,,\,,\,,\,,\,,\,,\,,\,,\@@ORANGE\@@"
3300 LET S$="*********  \ :\:   **  \ :\:   **\:.\. \.:\:.\ .\.:**\ '% % % % \' ** \ :\:'\':\:  **\ .\:'  \':\. **\:'    \':*\,,\,,\,,\,,\,,\,,\,,\,,\@@\@@STAR\@@\@@"
3400 LET P$="*********      **  \..\..  **\ .\.:% % \:.\. **\':% % % % \:'** \ '% % \'  **      **      *\,,\,,\,,\,,\,,\,,\,,\,,\@@\@@PLUM\@@\@@"
3500 LET J$="*********      **% % % % % % **% % % % % % ***BAR****% % % % % % **% % % % % % **      *\,,\,,\,,\,,\,,\,,\,,\,,\@@\@@BAR\@@\@@\@@"
3600 LET B$="*********  \ .\.   ** \ .\.:\:.\.  **\ .\'   \ '\. **\ :    \: **\ :    \: **\.'    \'.**\''\''\':\:'\''\''*\,,\,,\,,\,,\,,\,,\,,\,,\@@\@@BELL\@@\@@"
3990 RETURN 
4000 LET X=T(5)
4001 LET K=7
4005 LET X$=L$
4010 IF X=2 THEN LET X$=C$
4020 IF X=5 THEN LET X$=C$
4030 IF X=10 THEN LET X$=O$
4040 IF X=14 THEN LET X$=P$
4050 IF X=18 THEN LET X$=B$
4060 IF X=20 THEN LET X$=J$
4070 IF X=60 THEN LET X$=S$ 
4075 LET W=0
4080 FOR R=1 TO 73 STEP 8
4090 LET C=R+7
4100 PRINT AT K,J;X$(R TO C)
4105 LET K=K+1
4110 NEXT R
4120 RETURN 
9997 STOP 
9998 SAVE "SLOT-MACHIN%E"
9999 RUN 
Scroll to Top