home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Arcade / BOTTLE-NECK (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  12.9 KB  |  246 lines

  1. 0 GOTO9900
  2. 1 L=3:GOTO0
  3. 2 A$="BOTTLE NECK2":OPEN1,8,15,"I0":PRINT#1,"S0:"A$:SAVEA$,8:END
  4. 6 PRINT"READY?(R)":G1$="R"
  5. 7 GETG$:FORV=1TOLEN(G1$):IFG$<>MID$(G1$,V,1)THENNEXTV:GOTO7
  6. 8 RETURN
  7. 11 OPEN1,8,15:INPUT#1,A$,B$,C$,D$:PRINTA$,B$,C$,D$:END
  8. 89 DIMA(256):Z$=CHR$(0)
  9. 90 POKE45,0:POKE46,59:CLR
  10. 92 A$="BOTTLE NECK 2":OPEN1,8,15,"I0":PRINT#1,"S0:"A$:SAVEA$,8:END
  11. 94 :POKE29,0:POKE 31,0
  12. 95 :POKE30,132:POKE 32,036:POKE 33, 7:SYS679
  13. 96 :POKE30,192:POKE 32,043:POKE 33,16:SYS679
  14. 200 REM INP 99
  15. 205 MW=5+5*(5-SP):PP=57:IFMLTHENPOKEBC+2,PP:POKEBC+3,0
  16. 206 FORRO=0TO3:GOSUB300:NEXTRO:AB=0
  17. 210 GOSUB8900RT:T=TI+MW:JK=0
  18. 225 IFJK=0THENJK=(NOTPEEK(J1)OR NOTPEEK(J2))AND31:IFTI<TTHEN225
  19. 230 : DW=DW+1:IFDW>2THENGOSUB300:DW=0:IFABTHENRETURN
  20. 232 : IFJK=0THENT=TI+MW:GOTO225
  21. 235 :IFJKAND4THENGOSUB400ML:GOTO256
  22. 240 :IFJKAND8THENGOSUB500MR:GOTO256
  23. 245 :IFJKANDCWTHENGOSUB600CW:GOTO256
  24. 250 :IFJKAND1THENGOSUB700CC:GOTO256
  25. 255 :IFJKANDDOTHENGOSUB9700
  26. 256 :T=TI+MW
  27. 257 :JK=(NOTPEEK(J1)ORNOTPEEK(J2))AND31:IFJKTHENIFTI<TTHEN257
  28. 260 :IFNF=0THEN225
  29. 265 RETURN
  30. 300 REM DOWN ONE (PP--AB) 15,2
  31. 301 POKEBC+1,AB:POKEBC,3:SYSOG:AB=PEEK(BC+1):RETURN
  32. 400 REM LEFT 2
  33. 401 POKEBC,4:SYSOG:RETURN
  34. 500 REM RIG 2
  35. 501 POKEBC,5:SYSOG:RETURN
  36. 600 REM CLO WIS (PP--PP)
  37. 601 POKEBC,6:SYSOG:RETURN
  38. 700 REM CCL WIS
  39. 701 POKEBC,7:SYSOG:RETURN
  40. 1100 REM INA ROW FROM OBJ (PP--LS#,NN#)  99,88
  41. 1101 POKEBC+2,PP AND255:POKEBC+3,PP/256:POKEBC,11:SYSOG:RETURN
  42. 1300 REM SHO SCO 12
  43. 1301 SC=PEEK(49325)+256*PEEK(49326):BA=SC
  44. 1302 FORI=4TO0STEP-1
  45. 1305 :PV=BA-10*INT(BA/10)+56:IFBA=0THENIFI<>4THENPV=55
  46. 1310 :BA=INT(BA/10):POKEVM+205+I,PV:NEXTI:RETURN
  47. 1400 REM ERASE LINES FROM ONE OBJ (LS#,N#--EM,HF) 99,99,91
  48. 1401 POKEBC,14:POKE49313,EM:SYSOG:EM=PEEK(49313):HF=PEEK(49316):RETURN
  49. 1500 REM FALLS 99 (--HL,LP#)
  50. 1505 HL=0:POKEBC,15:SYSOG:HL=PEEK(49317):RETURN
  51. 2500 REM SWITCH VIDEO (E,B,G,V,M---) 32,34
  52. 2505 POKE53269,E:REM SPR ENABLE
  53. 2520 POKE53272,G+16*V:REM CHRGEN RAM ADDR,VIDEO MATRIX ADR
  54. 2530 POKE53270,(PEEK(53270)AND(255-16))+M*16:REM MULT CLR MODE
  55. 2580 POKE56578,PEEK(56578)OR3:REM DAT DIR REG
  56. 2590 POKE56576,(PEEK(56576)AND252)OR(3-B):REM VIC BANK
  57. 2599 RETURN
  58. 3200 REM UNSHOW PICTURE 98,48,45,69,58,61
  59. 3205 B=0:E=0:V=1:G=4:M=0:GOSUB2500: POKE53281,1:POKE646,0
  60. 3210 RETURN
  61. 3249 :
  62. 3250 REM SHO PIC 98,48,45,69,58,61
  63. 3255 B=2:E=1:G=2:V=1:M=1:GOSUB2500SV
  64. 3260 PRINT"[147]"SC$""SC$"[144]"
  65. 3270 A=53280:POKEA,0:POKEA+1,1:POKEA+2,0:REM BORDER+PIXEL 0-1
  66. 3299 RETURN
  67. 8400 REM KEY OPTIONS 99
  68. 8405 FORI=1TO10:GETG$:IFG$<>"Q"ANDG$<>"N"ANDG$<>"S"ANDG$<>"F"THENNEXT
  69. 8410 IFG$="Q"THENGOSUB3200:POKE53281,1:PRINT"[147]";:POKE56,160:END:  LOAD"M",8:END
  70. 8415 IFG$="N"THENGOSUB3200:CLR:GOTO1
  71. 8420 IFG$="F"THENGOSUB8450
  72. 8425 IFG$="S"THENRE=1
  73. 8430 RETURN
  74. 8449 :
  75. 8450 GETG$:IFG$<>"F"THEN8450
  76. 8455 RETURN
  77. 8500 REM JOY CHO 99
  78. 8505 PRINT"[147][150][176][195][195][195][195][195][195] JOY STICK CONTROL STYLE [150][195][195][195][195][195][195][174][157][194]
  79. 8510 [153]"ONPEEKCMDPEEKSYS#1:  LEFT&RIGHT=LEFT&RIGHT           DEFPEEK
  80. 8515 PRINT"[194][158]     UP&DOWN   =COUNTER CW&CLOCKWISE [150][194]
  81. 8520 [153]"PEEKSYS     FIRE      =FAST DROP            DEFPEEKCMDPEEKONPEEK
  82. 8530 PRINT"[194][158]#2:  LEFT&RIGHT=LEFT&RIGHT           [150][194]
  83. 8535 [153]"PEEKSYS     UP&FIRE   =COUNTER CW&CLOCKWISE DEFPEEK
  84. 8540 PRINT"[194][158]     DOWN      =FAST DROP            [150][194][157][194][145][194]
  85. 8545 [153]"/LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN 1 2 DEFLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENEXP
  86. 8550 PRINT"[176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195] SPEED [150][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]
  87. 8555 [153]"PEEKCMD/LENLENLENLENLENLENLENLENLENLENLENLENLEN 1 2 3 4 5 DEFLENLENLENLENLENLENLENLENLENLENLENLENLENEXPONCMDPEEK
  88. 8560 PRINT"[150][176][195][195][195][195][195][195][195][195][195][195][195][195] START LEVEL [150][195][195][195][195][195][195][195][195][195][195][195][195][174][157][157][194]
  89. 8565 [153]"ONPEEKCMD/LENLENLENLENLENLENLENLENLEN 1 2 3 4 5 6 7 8 9 DEFLENLENLENLENLENLENLENLENLENEXP
  90. 8599 RETURN
  91. 8600 REM RELOC 99
  92. 8601 IFL=0THENPOKE56,132:CLR:L=1:GOTO0
  93. 8602 A=679:FORI=ATOA+17:READR:POKEI,R:NEXT:
  94. 8605 GOTO8610
  95. 8610 :POKE29,0:POKE 31,0
  96. 8615 :POKE30,036:POKE 32,132:POKE 33,36:SYS679
  97. 8620 :POKE30,043:POKE 32,192:POKE 33,16:SYS679
  98. 8625 :RETURN
  99. 8630 :DATA 160,0,177,29,145, 31,200,208,249,230,30,230, 32,198, 33,208,241,96
  100. 8650 IFL=1THENL=2:LOAD"G[218]BOT2",8,1
  101. 8660 IFL=2THENL=3:LOAD"O[218]BOTTLE2",8,1
  102. 8665 RETURN
  103. 8700 REM COL DAT 99
  104. 8710 DATA 1,2,5,6
  105. 8711 DATA 2,0,3,7
  106. 8715 DATA 3,5,0,7
  107. 8720 DATA 4,2,5,7
  108. 8725 DATA 5,2,6,7
  109. 8730 DATA 6,2,5,7
  110. 8735 DATA 7,5,2,6
  111. 8740 DATA 8,7,5,4
  112. 8745 DATA 9,3,5,7
  113. 8750 DATA10,5,6,7
  114. 8755 DATA11,5,2,7
  115. 8760 DATA12,2,5,4
  116. 8765 DATA13,2,4,7
  117. 8770 DATA14,2,5,7
  118. 8775 DATA15,5,3,7
  119. 8780 DATA 0,2,5,6
  120. 8790 DIM LC%(16,3)
  121. 8795 FORI=1TO16:READLC%(I,0),LC%(I,1),LC%(I,2),LC%(I,3):NEXT:RETURN
  122. 8800 REM PUT RAN CIR (PP--)91
  123. 8805 V=PP+VM:POKEV,0:POKEV+1,1:POKEV+2,2:POKEV+40,6:POKEV+41,7:POKEV+42,8
  124. 8810 C=PP+CM:C1=LC%(LV,RND(9)*3+1)+8: FORI=0TO2:POKEC+I,C1:POKEC+I+40,C1:NEXT
  125. 8815 HF=HF+1:IFMLTHENPOKE49316,HF
  126. 8820 GOSUB1100:GOSUB1400:GOSUB1300
  127. 8825 RETURN
  128. 8900 REM RND TOP 91 (--PP)
  129. 8901 C1=LC%(LV,RND(9)*3+1)+8:C2=LC%(LV,RND(9)*3+1)+8
  130. 8905 V=VM+57:C=CM+57
  131. 8910 POKEV,3:POKEV+5,5:POKEV+40,15:POKEV+45,17
  132. 8915 FORI=1TO4:POKEV+I,4:POKEV+40+I,16:NEXT
  133. 8920 FORI=0TO2:POKEC+I,C1:POKEC+40+I,C1:POKEC+3+I,C2:POKEC+43+I,C2:NEXT
  134. 8925 RETURN
  135. 9000 REM CHO SETUP 93
  136. 9005 M(1)=2:M(2)=5:M(3)=9
  137. 9006 N(1)=1:N(2)=SP:N(3)=SL
  138. 9010 IFNOT(PEEK(J1)ANDPEEK(J2))AND31THEN9010
  139. 9012 H$(1)=""
  140. 9013 H$(2)=H$(1)+"[157][157][157]"
  141. 9014 H$(3)=H$(2)+"[157][157][157][157]"
  142. 9099 RETURN
  143. 9100 REM FIL BOT 99
  144. 9105 IFLV>16THENLV=9:IFSP<5THENSP=SP+1
  145. 9110 IFMLTHENPOKE49320,LV:POKE49322,SP
  146. 9115 IFRETHENSC=SC%:GOSUB1300
  147. 9116 IFRETHENIFMLTHENPOKE49325,SC%AND255:POKE49326,SC%/256:GOSUB1300
  148. 9120 GOSUB9800DB:HF=0
  149. 9125 IFRE=0THENSE=RND(TI*SE):SC%=SC:IFMLTHENSC%=PEEK(49325)+256*PEEK(49326)
  150. 9130 I=RND(-SE):RE=0
  151. 9135 GOSUB8900TOP
  152. 9140 R=(BH-4)*(LV/9)+1:MF=INT(R*BW*.50):R=INT(R)
  153. 9145 HF=0:IFMLTHENPOKE49316,HF
  154. 9150 RO=INT(RND(9)*4)+3:CO=INT(RND(9)*10):PP=RO*80+CO*3+5+9*40
  155. 9155 : IFPEEK(VM+PP)<>12 THEN9150
  156. 9160 :IFPP>999THENSTOP
  157. 9165 :GOSUB8800PC:IFHF<MFTHEN9150
  158. 9170 RETURN
  159. 9200 REM CURSOR 93
  160. 9205 PRINT"[176][195][174][157][157][157][194][194][157][157][157][173][195][189][157][157][157][145][145]";:GOSUB9230
  161. 9210 :PRINT"   [157][157][157]  [157][157][157]   [157][157][157][145][145]";:GOSUB9230:IFK=0THEN9205
  162. 9215 :IFNOT(PEEK(J1)ANDPEEK(J2))AND16THEN9215
  163. 9220 RETURN
  164. 9229 :
  165. 9230 FORI=1TO13:K=NOT(PEEK(J1)ANDPEEK(J2))AND31:IFK=0THENNEXT
  166. 9240 RETURN
  167. 9300 REM CHO 99
  168. 9305 GOSUB9000CSU:GOSUB8500VC:WC=1
  169. 9321 PRINTH$(WC)LEFT$(RI$,N(WC)*2-2);
  170. 9322 :GOSUB9200
  171. 9323 :IFK=16ANDWC=3THEN9345
  172. 9324 :IFK=16THENK=2
  173. 9325 :IFK=1ANDWC>1THENWC=WC-1
  174. 9330 :IFK=2ANDWC<3THENWC=WC+1
  175. 9331 :IFK=4ANDN(WC)>1THENN(WC)=N(WC)-1
  176. 9332 :IFK=8ANDN(WC)<M(WC)THENN(WC)=N(WC)+1
  177. 9340 :GOTO9321
  178. 9345 SP=N(2):SL=N(3):LV=SL:DO=16:CW=2
  179. 9346 IFMLTHENPOKE49322,SP:POKE49320,LV
  180. 9350 IFN(1)=2THENDO=2:CW=16
  181. 9399 RETURN
  182. 9400 REM CHOICE 99
  183. 9405 PRINT"[147]WHICH LEVEL?(1-9)":G1$="123456789":GOSUB7:LV=V
  184. 9410 PRINT"SPEED?(123)":G1$="123":GOSUB7:SP=V:RETURN
  185. 9500 REM INSTR 99
  186. 9505 PRINT"[147][150]             BOTTLE NECK
  187. 9506 [153]"SYS           BY  MICHAEL RILEY "
  188. 9507 [153]"SYS                        "
  189. 9510 [153]"1. USE EITHER JOY STICK TO MANEUVER        FALLING RECTANGLES
  190. 9515 PRINT"2. WHEN SQUARES AND CIRCLES OF THE SAME
  191. 9516 [153]"   COLOR ARE ALIGNED FOUR OR MORE IN A
  192. 9520 PRINT"   ROW, THEY WILL DISAPPEAR.
  193. 9525 [153]"3. GET RID OF ALL CIRCLES TO GO TO THE     NEXT LEVEL.
  194. 9530 PRINT"4. WHILE RECTANGLES ARE DROPPING, YOU      CAN PRESS:"
  195. 9535 PRINT"     F[146] FOR FREEZE/UNFREEZE
  196. 9536 [153]"     SWAIT FOR SAME LEVEL & ARRANGEMENT
  197. 9537 PRINT"     N[146] FOR NEW GAME
  198. 9538 [153]"     QWAIT TO QUIT
  199. 9540 PRINT"[154]         PRESS FIRE TO BEGIN
  200. 9545 [139][168]([194](J1)[175][194](J2))[175]31[167][161]G$:[142]
  201. 9550 :[161]G$:[137]9545
  202. 9600 [143] SETUP
  203. 9610 BH[178]07:BW[178]10
  204. 9615 RI$[178]""
  205. 9620 SP$[178]"                                    "
  206. 9625 S1$[178]"PRINT#          CMDCMDCMDCMDCMDCMDCMDCMDCMDCMD":S2$[178]"PRINT# CLR        PRINT# CMDCMDCMDCMDCMDCMDCMDCMDCMDCMD"
  207. 9626 SC$[178]S1$[170]S2$[170]S1$[170]S2$[170]S1$
  208. 9630 CM[178]13[172]4096[170]8[172]256:VM[178]33792:BC[178]49294:CD[178]36864:OG[178]49151
  209. 9635 CC(0)[178]2[170]8:CC(1)[178]4[170]8:CC(2)[178]5[170]8::[151]53280,0:[151]53281,0:[143] PRINT"STOPLOAD";
  210. 9640 C0[178]9:SL[178]1:SP[178]1:[134]LP(100)
  211. 9645 J1[178]56321:J2[178]56320:DO[178]16:CW[178]2
  212. 9650 DI(0)[178]80:DI(1)[178]3:DI(2)[178]80:DI(3)[178]3
  213. 9655 SO[178]54272:[129]I[178]0[164]24:[151]SO[170]I,0:[130]:[151]SO[170]24,15:[143] VOL
  214. 9660 [151]SO[170]1,026:[151]SO[170]15,97:[143] HFR1,3
  215. 9665 [151]SO[170]5,0[172]16[170]11:[143] AT,DE
  216. 9670 ML[178]1:[151]49325,0:[151]49326,0:[143] SCORE
  217. 9699 [142]
  218. 9700 [143] FAS DRO
  219. 9705 [141]300:[139]([168][194](J1)[176][168][194](J2))[175]31[167]9705
  220. 9710 :[142]
  221. 9800 [143] EMP BOT 91
  222. 9801 [151]53283,LC%(LV,0)
  223. 9805 H%[178]LV[173]10:L%[178]LV[171]10[172]H%:[139]H%[178]0[167]H%[178][171]1
  224. 9806 [151]VM[170]5[172]40[170]34,H%[170]56:[151]VM[170]5[172]40[170]35,L%[170]56
  225. 9810 [151]VM[170]3[172]40[170]35,SP[170]56:[141]3250
  226. 9814 [151]BC,98:[158]OG:[142]
  227. 9900 [143] MAIN
  228. 9910 [141]8600RL:I[178][187]([170]9):[141]9600SU
  229. 9911 [141]8700CD
  230. 9915 [141]9500IN:[139]G$[178]"Q"[167]9999
  231. 9920 [141]9300CH:[141]1300
  232. 9925 [141]9100FB
  233. 9930 [141]200:PP[178][194](BC[170]2)[170]256[172][194](BC[170]3):[139]PP[179]4[172]40[167][141]3200:[156]:[137]1
  234. 9935 :[141]8400KC:[139]RE[167]9925
  235. 9940 :[141]1100IAR:[141]1400ERA
  236. 9945 : [139]EM[178]0[167]9970
  237. 9950 : [141]1300:[141]1500FS:[139]HL[178]0[167]9970
  238. 9955 :  EM[178]0:[151]49313,EM
  239. 9956 :  [129]WL[178]1[164]HL
  240. 9957 :    PP[178][194](51620[170]WL)[170]256[172][194](51620[170]21[170]WL)
  241. 9960 :    [141]1100:[141]1400:[141]1300
  242. 9962 :    [130]WL
  243. 9965 :  [139]EM[167]9950
  244. 9970 :[139]HF[178]0[167]LV[178]LV[170]1:[141]9100FB
  245. 9975 :[137]9930
  246.