home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Games / ONE-ARMED-BANDIT (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  5.0 KB  |  139 lines

  1. 10 IFA=0THENA=1:PRINT"[147]LOADING M/L DATA":LOAD"ONE ARMED.MLDATA",8,1
  2. 20 GOTO100
  3. 30 :
  4. 40 :
  5. 50 :        SLOT MACHINE  V.6
  6. 60 :       RAY VANCE JULY 1984
  7. 70 :          COMMODORE 64
  8. 80 :
  9. 90 :
  10. 100 POKE53281,1:POKE53280,3: PRINTCHR$(147)CHR$(28)
  11. 110 POKE53272,(PEEK(53272)AND240)+12:GOSUB550:GOTO380
  12. 120 :
  13. 130 REM  MAIN PROGRAM LOOP
  14. 140 POKE198,0:PRINTSPC(2)"WAGER $"WAGER;TAB(20)"POCKET $"POCKET;CHR$(LEFT);"  ";
  15. 150 PRINTCHR$(UP)
  16. 160 GETWAGER$:IFWAGER$=""THEN160
  17. 170 IFWAGER$="Q"THEN510
  18. 180 WAGER=VAL(WAGER$):IFWAGER>0THENHW=WAGER:GOTO200
  19. 190 WAGER=HW:IFWAGER=0THEN380
  20. 200 PRINTSPC(7)"WAGER $"WAGER;TAB(20)"POCKET $"POCKET;CHR$(LEFT);"  ";
  21. 210 IFWAGER>5THENPRINTLFT$;:PRINT"$5 LIMIT";:FORK=1TO2000:NEXT:HW=5:GOTO380
  22. 220 CASH=CASH-WAGER:ROLL$="":PAYOFF=0
  23. 230 PRINTLEFT$(DOWN$,13)SPC(23)CHR$(REVERSE)CHR$(BLUE)MID$(D$,1,WAGER)
  24. 240 PRINTLEFT$(DOWNN$,11)SPC(22)CHR$(REVERSE)CHR$(BLUE)"       "
  25. 250 PRINTSPC(22)CHR$(REVERSE)CHR$(BLUE)"       "
  26. 260 PRINTLEFT$(DOWN$,20)SPC(7)RIGHT$(" "+STR$(CASH),2);
  27. 270 FORI=1TO3:R=INT(RND(1)*20+1):ROLL$=ROLL$+MID$(R$(I),R,1)
  28. 280 R(I)=VAL(MID$(ROLL$,I,1)):NEXT:GOSUB1050:REM PRINT SPRITES
  29. 290 FORX=0TO8:IFMID$(W$,X*3+1,3)=ROLL$THENPAYOFF=PAYOFF(X):GOTO310
  30. 300 NEXT:IFLEFT$(ROLL$,2)="55"THENPAYOFF=3
  31. 310 IFPAYOFF=85THENGOSUB1200:REM JACKPOT
  32. 320 POCKET=POCKET+PAYOFF*WAGER:IFPAYOFF<1THEN380
  33. 330 PRINTLEFT$(DOWN$,11)SPC(22)CHR$(REVERSE)CHR$(BLUE)"YOU WIN"
  34. 340 PRINTSPC(22);
  35. 350 P$=MID$(STR$(PAYOFF*WAGER),2):SP=(6-LEN(P$))/2+.5:PRINTSPC(SP)"$"P$
  36. 360 POKE54277,34:POKE54278,244:POKE54273,20:FORF=1TO8:POKE54276,17
  37. 370 FORT=1TO10:POKE54273,F*10:NEXT:NEXT:FORT=1TO100:NEXT:POKE54276,0:GOSUB1330
  38. 380 PRINTLEFT$(DOWN$,13)SPC(23)CHR$(REVERSE)CHR$(BLUE)"[209][209][209][209][209]"
  39. 390 PRINTLEFT$(DOWN$,20)SPC(7)RIGHT$(" "+STR$(CASH),2)
  40. 400 PRINT:PRINTMID$(DOWN$,2,3)SPC(5);:IFCASH>10THEN140
  41. 410 POCKET=POCKET+CASH:IFPOCKET<100THENCASH=POCKET:POCKET=0:IFCASH>10THEN380
  42. 420 IFPOCKET>99THENCASH=99:POCKET=POCKET-99:GOTO380
  43. 430 POKE54277,34:POKE54278,244:POKE54273,20:FORF=8TO1STEP-1:POKE54276,33
  44. 440 FORT=1TO10:POKE54273,F*10:NEXT:NEXT:FORT=1TO100:NEXT:POKE54276,32
  45. 450 PRINTLEFT$(DOWN$,24):POKEV+21,0
  46. 460 PRINTSPC(7)"SAVE THE $"MID$(STR$(CASH),2)" FOR LUNCH.     ";:PRINTCHR$(UP)
  47. 470 FORX=1TO2000:NEXT:PRINTSPC(7)"                      ";:PRINTCHR$(UP)
  48. 480 POKE198,0:PRINTSPC(7)"AGAIN?";:POKE198,0
  49. 490 GETA$:IFA$=""THEN490
  50. 500 IFA$<>"N"THENRUN100
  51. 510 POKE53272,(PEEK(53272)AND240)+5:PRINT"":POKE53269,0:END
  52. 520 :
  53. 530 :
  54. 540 REM  INITALIZE PROGRAM VALUES
  55. 550 CASH=99:R$(1)="12333334445555555666":R$(2)="11122234444445555555"
  56. 560 R$(3)="12223333344444446666":W$="111222221333331444441556552"
  57. 570 FORI=0TO8:READPAYOFF(I):NEXT:DATA85,18,18,14,14,10,10,5,5
  58. 580 C(1)=12:C(2)=12:C(3)=4:C(4)=8:C(5)=2:C(6)=7
  59. 590 FORI=1TO6:S(I)=223+I:NEXT:D$="[215][215][215][215][215]"
  60. 600 DOWN$=""
  61. 610 LFT$="[157][157][157][157][157][157][157][157][157][157][157][157]"
  62. 620 RED=28:LEFT CRSR=157:CLEAR SCREEN=147:UP CRSR=145:REVERSE=18:BLUE=31
  63. 630 :
  64. 640 :
  65. 650 FORX=0TO4:POKE53290+X,12:POKE2043+X,230:NEXT
  66. 660 X=53254:POKEX,220:POKEX+1,174:POKEX+2,210:POKEX+3,165:POKEX+4,230
  67. 670 POKEX+5,165:POKEX+6,200:POKEX+7,174:POKEX+8,240:POKEX+9,174
  68. 680 V=53248:POKEV+21,0:POKE2040,228:POKE2041,227:POKE2042,226
  69. 690 POKEV+37,0:POKEV+38,8:POKEV+28,248:FORC=0TO4:POKEV+42+C,7:NEXT
  70. 700 POKEV+39,2:POKEV+40,8:POKEV+41,4
  71. 710 POKEV+0,133:POKEV+1,80:POKEV+2,172:POKEV+3,80
  72. 720 POKEV+4,211:POKEV+5,80:POKEV+21,7:POKE54296,15
  73. 730 :
  74. 740 :
  75. 750 REM DRAW SCREEN
  76. 760 POKE53280,0:PRINT"[147]      [155][165]                          [167]"
  77. 770 PRINT"      [165]     [149]ONE ARMED BANDIT[146]     [155][167]"
  78. 780 PRINT"      [165]    [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][146]    [155][167]"
  79. 790 PRINT"      [165]   [167]  [146][165]   [221]    [221]   [167]  [146][165]   [155][167]
  80. 800 [153]"      FN   ABS  WAIT    (null)    (null)      WAITINT   LISTTHEN
  81. 810 PRINT"      [165]   [181] [167][146]    [221]    [221]    [165] [146][161]   [155][167]
  82. 820 [153]"      FN   SGN ABSWAIT    (null)    (null)    INT ABSWAIT   LISTTHEN
  83. 830 PRINT"[155]      [165]      PAY OFFS         [146] [149][209] [155][167]"
  84. 840 PRINT"[155]      [165]   [158]  PER DOLLAR        [146] [144][172][146] [155][167]"
  85. 850 PRINT"[155]      [165]    [146] [152]#!#!#! 85         [146] [144][161] [155][167]"
  86. 860 PRINT"[155]      [165]    [146] [152]%&%&%& 18         [146] [144][161] [155][167]"
  87. 870 PRINT"[155]      [165]    [146] [152]%&%&#! 18         [146] [144][161] [155][167]"
  88. 880 PRINT"[155]      [165]    [146] [156]()()()[152] 14         [146] [144][161] [155][167]"
  89. 890 PRINT"[155]      [165]    [146] [156]()()[152]#! 14         [146] [144][161] [155][167]"
  90. 900 PRINT"[155]      [165]    [146] [129]*+*+*+[152] 10  [146][144][223]    [146][169] [146] [144][161] [155][167]"
  91. 910 PRINT"[155]      [165]    [146] ,-,-[158]/:[152]  5  [146][152][169]    [223] [146] [144][161] [155][167]"
  92. 920 PRINT"[155]      [165]    [146] ,-,-[152]%&  5         [146][144][162][146][190] [155][167]"
  93. 930 PRINT"[155]      [165]   [158] [146] ,-,-[152]^_  3 [158]        [146]   [155][167]"
  94. 940 PRINT"[155]     [169]                            [223]"
  95. 950 PRINT"    [169] [146][161]  [161]                         [223]"
  96. 960 PRINT"   [169]  [170][146][144][163][163][180]                          [223]"
  97. 970 PRINT"  [169]    [146][144][163][163]                            [223]"
  98. 980 PRINT" [169]                                    [223]"
  99. 990 PRINT"   [155][206][149]                                [146][155][205]"
  100. 1000 PRINT"  [155][206] [149]  [146]                              [146] [155][205]";
  101. 1010 RETURN
  102. 1020 :
  103. 1030 :
  104. 1040 REM  "SPIN" REELS
  105. 1050 POKE54277,0:POKE54278,0:POKE54272,255:POKE54273,20
  106. 1060 POKE54284,0:POKE54285,0:POKE54279,255:POKE54280,20
  107. 1070 POKE54291,0:POKE54292,0:POKE54286,255:POKE54287,20
  108. 1080 FORI=1TO32:POKE54290,129
  109. 1090 IFI<21THENPOKE54283,129:IFI<11THENPOKE54276,129
  110. 1100 J1=RND(1)*6+1:IFI>10THENJ1=R(1)
  111. 1110 J2=RND(1)*6+1:IFI>20THENJ2=R(2)
  112. 1120 J3=RND(1)*6+1:IFI>30THENJ3=R(3)
  113. 1130 FORZ=1TO30:NEXT:POKE54276,8:POKE54283,8:POKE54290,8
  114. 1140 POKE2040,S(J1):POKEV+39,C(J1)
  115. 1150 POKE2041,S(J2):POKEV+40,C(J2)
  116. 1160 POKE2042,S(J3):POKEV+41,C(J3)
  117. 1170 NEXT:RETURN
  118. 1180 :
  119. 1190 :
  120. 1200 REM JACKPOT
  121. 1210 J$(0)="[209]  [209]  [209]   JACKPOT   [209]  [209]  [209]"
  122. 1220 J$(1)=" [209]  [209]  [209]  JACKPOT  [209]  [209]  [209] "
  123. 1230 J$(2)="  [209]  [209]  [209] JACKPOT [209]  [209]  [209]   "
  124. 1240 J$(3)="          JACKPOT           "
  125. 1250 POKE54277,0:POKE54278,255:POKE54272,255:POKE54273,0:POKE54276,17
  126. 1260 FORX=1TO40:POKE54273,X*2:IFPEEK(198)<>0THEN1300
  127. 1270 PRINTDOWN$J$(XAND3);
  128. 1280 NEXT:POKE54276,0:PRINTCHR$(UP):PRINTSPC(6)"   PRESS ANY KEY TO GO ON  ";
  129. 1290 FORX=1TO1000:NEXT:GOTO1250
  130. 1300 POKE54276,0:RETURN
  131. 1310 :
  132. 1320 :
  133. 1330 REM DROP THE COINS
  134. 1340 POKE53273,10:POKE54276,17:FORX=0TOPAYYOFF-1
  135. 1350 POKE54273,(XAND7)+10:POKE53269,2^(WAGER+3)-1:FORI=1TO50STEP10
  136. 1360 FORJ=1TO5:POKE53253+J*2,PEEK(53253+J*2)+10:NEXTJ,I:POKE53269,7
  137. 1370 FORJ=1TO5:POKE53253+J*2,PEEK(53253+J*2)-50:NEXTJ
  138. 1380 NEXTX:POKE54276,0:RETURN
  139.