home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Games / CAN'T-STOP (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  5.9 KB  |  211 lines

  1. 0 PG$="áS T O P ":AU$="BY RANDALL LOCKWOOD":JF=0
  2. 1 REM STOP -- BY RANDALL LOCKWOOD
  3. 2 :
  4. 5 REM COPYRIGHT (C) 1983 THE CODE WORKS
  5. 6 REM BOX 6905, SANTA BARBARA, CA 93160
  6. 7 :
  7. 10 REM AS OF 9/6/83 GF
  8. 90 GOTO 62000
  9. 100 U$="":B$="        "+CR$
  10. 101 DIM JD(15):FOR I=0 TO 15:READ JD(I):NEXT
  11. 102 DATA 0,0,0,0,0,3,9,6,0,1,7,4,0,2,8,5
  12. 103 DEF FNJ(X)=JD(PEEK(JS+X) AND 15):DEF FNB(X)=(PEEK(JS+X) AND 16)=0
  13. 104 FOR I=0 TO 28:POKE SID+I,0:NEXT:POKE SID+6,240:POKE SID+4,17
  14. 110 FQ=SID+1:VL=SID+24:QI=3:DI=CM-CRT:TN=15:SP=WD*2:C$="                   "
  15. 120 DIM T(12),X1(12),P1(12),P(12),R(4),RR(6,1)
  16. 130 DIM PS%(2,12),GC(2),W%(12),X(12),PF(2,12),PN$(2),PS$(2)
  17. 140 PRINT "ôWANT TO PLAY AGAINST THE 64? ";
  18. 150 GOSUB 60000:PRINT:PET=(LEFT$(IN$,1)<>"N")
  19. 160 IF PET THEN PN$(1)="YOU":PN$(2)="I":PS$(1)="YOUR":PS$(2)="MY":GOTO 210
  20. 170 QI=20:FOR I=1 TO 2:PRINT "PLAYER";I;"¥'S NAME? ";:GOSUB 60000
  21. 180 IF IN$="" THEN IN$="PLAYER "+CHR$(I+48)
  22. 190 PN$(I)=LEFT$(IN$,8):PS$(I)=PN$(I)+"'S"
  23. 200 NEXT I:QI=3
  24. 210 GC(1)=81:GC(2)=90:CL(1)=10:CL(2)=14:BK=11
  25. 215 FOR I=2 TO 12:T(I)=12-2*ABS(7-I):NEXT
  26. 230 FOR I=2 TO 12:P(I)=CRT+3*I-2+(14+T(I))*WD:NEXT
  27. 240 Z$="ùññ £":PRINT "ô£":PRINT "æ";TAB(19);" 7"
  28. 250 PRINT TAB(16) " 6 " Z$ " 8"
  29. 260 PRINT TAB(13);" 5 " Z$Z$Z$ " 9"
  30. 270 PRINT TAB(10);" 4 " Z$Z$Z$Z$Z$ "10"
  31. 280 PRINT TAB(7);" 3 " Z$Z$Z$Z$Z$Z$Z$ "11"
  32. 290 PRINT "     2 " Z$Z$Z$Z$Z$Z$Z$Z$Z$ "12"
  33. 300 PRINT "    " Z$Z$Z$Z$Z$Z$Z$Z$Z$Z$Z$ ""
  34. 310 PRINT "    " Z$Z$Z$Z$Z$Z$Z$Z$Z$Z$Z$ ""
  35. 320 PRINT TAB(7);Z$Z$Z$Z$Z$Z$Z$Z$Z$ ""
  36. 330 PRINT TAB(10);Z$Z$Z$Z$Z$Z$Z$ ""
  37. 340 PRINT TAB(13)Z$Z$Z$Z$Z$ ""
  38. 350 PRINT TAB(16)Z$Z$Z$ ""
  39. 360 PRINT TAB(19);Z$ ""
  40. 400 FOR I=1 TO 2:FOR J=2 TO 12:PS%(I,J)=0:PF(I,J)=0:NEXT J:CW(I)=0:NEXT I
  41. 410 FOR J=2 TO 12:W%(J)=0:NEXT J
  42. 470 PL=2
  43. 475 PRINT "";TAB(31);"THE DICE"
  44. 480 C=3
  45. 490 PL=PL+1:IF PL>2 THEN PL=1
  46. 510 FOR I=2 TO 12:X(I)=0:NEXT:FR=0
  47. 515 PRINT "";C$
  48. 520 PRINT "" LEFT$("üƒ",PL);PS$(PL);" TURN  ";CHR$(GC(PL)+128)
  49. 540 IF PL=2 AND PET THEN 1200
  50. 545 GOSUB 2200:IF R$="Q" THEN PRINT "ô":END
  51. 546 IF R$="R" THEN 870
  52. 580 PRINT U$;" STOP ":T=TI+300
  53. 590 FOR J=2 TO 12
  54. 600 IF X(J)=0 THEN 720
  55. 605 SD=135/2^(PF(PL,J)/12):GOSUB 2600
  56. 610 IF PF(PL,J)<=T(J) THEN 680
  57. 620 CW(PL)=CW(PL)+1:W%(J)=1
  58. 630 FOR K=1 TO T(J)+1:Z=P(J)-SP*K
  59. 635 POKE Z,GC(PL):POKE Z+1,GC(PL)
  60. 640 POKE Z+DI,CL(PL):POKE Z+DI+1,CL(PL)
  61. 650 NEXT K
  62. 670 GOTO 720
  63. 680 IF PS%(PL,J)>0 THEN L=P(J)-SP*PS%(PL,J)+PL-1:POKE L,100:POKE L+DI,BK
  64. 690 L=P(J)-SP*PF(PL,J)+PL-1:POKE L,GC(PL)
  65. 695 POKE L+DI,CL(PL)
  66. 710 PS%(PL,J)=PF(PL,J)
  67. 720 GOSUB 2650:NEXT J
  68. 723 IF TI<T THEN 723
  69. 725 PRINT U$;B$
  70. 730 IF CW(PL)>=3 THEN 1100
  71. 740 GOTO 480
  72. 870 PRINT U$;" ZAP!! ":SD=255:TN=25
  73. 875 GOSUB 2600:FOR Z=1 TO 750:NEXT
  74. 880 GOSUB 2650:FOR Z=1 TO 750:NEXT
  75. 890 PRINT U$;"       ":FOR J=2 TO 12
  76. 900 IF X(J)=0 THEN 960
  77. 910 IF PF(PL,J)>T(J) THEN 930
  78. 920 L=P(J)-SP*PF(PL,J)+PL-1:POKE L,100:POKE L+DI,BK:GOTO 950
  79. 930 PRINT LEFT$(U$,13-T(J));TAB(3*J-2);RIGHT$(STR$(J),2)
  80. 950 PF(PL,J)=PS%(PL,J)
  81. 960 NEXT J:GOTO 480
  82. 1000 GOSUB 2490
  83. 1020 T=M(1):GOSUB 1900
  84. 1030 T=M(2):GOSUB 1900
  85. 1040 IF PL=2 AND PET THEN FOR Z=1 TO 2000:NEXT
  86. 1050 GOTO 540
  87. 1100 Z$="S":IF PET THEN Z$=""
  88. 1105 RESTORE:I=1:Z=18:T=TI
  89. 1110 PRINT "";C$:FOR K=1 TO 30
  90. 1115 PRINT "" CHR$(Z);PN$(PL);" WIN";Z$:T=TI+6
  91. 1120 IF K=I THEN READ SD,I:I=K+I:GOSUB 2650:GOSUB 2600
  92. 1125 IF TI<T THEN 1125
  93. 1130 Z=(Z+128) AND 255
  94. 1140 NEXT K
  95. 1145 GOSUB 2650
  96. 1150 PRINT U$;"AGAIN?":GOSUB 60000
  97. 1160 IF LEFT$(IN$,1)="N" THEN END
  98. 1170 GOTO 240
  99. 1180 DATA 214,4,214,2,214,6,202,2,214,2,255,2,241,2,214,0
  100. 1200 IF C>0 THEN 1230
  101. 1210 J=0:FOR I=2 TO 12:IF X(I) THEN J=J+I:IF PF(PL,I)>T(I) THEN 580
  102. 1215 NEXT:J=J/3
  103. 1217 IF RND(1)*(7-ABS(7-J))>FR THEN 1230
  104. 1220 GOTO 580
  105. 1230 GOSUB 2300:PRINT U$ "THINKING"
  106. 1240 TS=0:FOR I=1 TO NP
  107. 1250 R1=RR(I,0):R2=RR(I,1)
  108. 1260 GOSUB 1400
  109. 1290 NEXT I
  110. 1300 PRINT U$;B$
  111. 1310 IF TS=0 THEN 870
  112. 1330 GOTO 1000
  113. 1400 FOR Z=2 TO 12:X1(Z)=X(Z):P1(Z)=PS%(PL,Z):NEXT Z:C1=C
  114. 1410 SC=0:T=R1:GOSUB 1500:T=R2:GOSUB 1500
  115. 1420 IF SC>TS THEN TS=SC:M(1)=R1:M(2)=R2:M=I
  116. 1430 RETURN
  117. 1500 IF X1(T)=0 AND C1=0 THEN RETURN
  118. 1501 IF W%(T) OR P1(T)>T(T) THEN RETURN
  119. 1505 SC=SC+1
  120. 1520 IF X1(T) THEN SC=SC+2
  121. 1530 IF P1(T)=T(T) THEN SC=SC+5
  122. 1540 IF X1(T)=0 THEN C1=C1-1
  123. 1550 P1(T)=P1(T)+1:X1(T)=1:RETURN
  124. 1800 PRINT U$;LEFT$("ûÜ",PL);"WHICH PAIR?":QI=3:GOSUB 60000
  125. 1810 PRINT U$;"           ":PRINT B$
  126. 1815 IF LEFT$(IN$,1)="Q" THEN V=0:R$="Q":RETURN
  127. 1820 IF IN$="" AND NP=1 THEN IN$="1"
  128. 1825 IF IN$="" THEN 1800
  129. 1830 M=VAL(IN$):IF IN$="0" THEN RETURN
  130. 1835 IF M<1 OR M>NP THEN 1800
  131. 1837 GOSUB 2490
  132. 1840 V=0:T=RR(M,0):GOSUB 1900
  133. 1850 T=RR(M,1):GOSUB 1900
  134. 1860 RETURN
  135. 1900 IF W%(T) THEN RETURN
  136. 1910 I=PF(PL,T):IF I<>PS%(PL,T) THEN 1950
  137. 1920 IF C>0 THEN GOSUB 2000:X(T)=1:C=C-1
  138. 1930 RETURN
  139. 1950 IF I<=T(T) THEN GOSUB 2000
  140. 1960 RETURN
  141. 2000 SD=255/2^(PF(PL,T)/12):GOSUB 2600
  142. 2005 IF PF(PL,T)=PS%(PL,T) THEN 2020
  143. 2010 L=P(T)-SP*PF(PL,T)+PL-1:POKE L,100:POKE L+DI,BK
  144. 2020 PF(PL,T)=PF(PL,T)+1
  145. 2030 L=P(T)-SP*PF(PL,T)+PL-1:POKE L,214:POKE L+DI,CL(PL)
  146. 2040 V=1:FR=FR+1:GOSUB 2650:RETURN
  147. 2200 IF C=3 THEN 2235
  148. 2205 PRINT U$;"RÆæ¥ñ OR SÆæ¥ñ?    "
  149. 2210 QI=3:GOSUB 60000:R$=LEFT$(IN$,1)
  150. 2215 PRINT "æææ";B$;B$;B$;
  151. 2220 IF R$="S" OR R$="Q" THEN RETURN
  152. 2230 IF R$<>"" AND R$<>"R" THEN 2205
  153. 2235 R$="R":GOSUB 2300:GOSUB 2700:IF ZP THEN RETURN
  154. 2240 V=0:GOSUB 1800:IF V THEN 2205
  155. 2250 RETURN
  156. 2300 PRINT "":PRINT TAB(30);B$:PRINT "";TAB(30);B$
  157. 2305 PRINT "":FOR I=1 TO 6:PRINT B$;:NEXT
  158. 2310 FOR I=1 TO 4:R(I)=INT(6*RND(1)+1):NEXT
  159. 2320 PRINT "":PRINT TAB(33);"";CHR$(R(1)+48);"";CHR$(R(2)+48)
  160. 2330 PRINT "" TAB(33);"";CHR$(R(3)+48);"";CHR$(R(4)+48)
  161. 2340 T=R(1)+R(2)+R(3)+R(4)
  162. 2350 NP=0:FOR I=1 TO 3:FOR J=I+1 TO 4
  163. 2360 R1=R(I)+R(J):R2=T-R1
  164. 2370 IF NP=0 THEN 2410
  165. 2380 FOR M=1 TO NP
  166. 2390 IF RR(M,0)=R1 AND RR(M,1)=R2 THEN 2420
  167. 2400 NEXT M
  168. 2410 NP=NP+1:RR(NP,0)=R1:RR(NP,1)=R2
  169. 2420 NEXT J,I
  170. 2430 PRINT "":FOR M=1 TO NP:GOSUB 2500:NEXT M
  171. 2440 RETURN
  172. 2490 PRINT LEFT$("",M+2);"";
  173. 2500 PRINT MID$(STR$(M),2);":";
  174. 2510 PRINT RIGHT$(STR$(RR(M,0)),2);" ";
  175. 2520 PRINT RIGHT$(STR$(RR(M,1)),2)
  176. 2530 RETURN
  177. 2600 POKE VL,15:POKE FQ,SD:TN=15:RETURN
  178. 2650 POKE VL,0:RETURN
  179. 2700 ZP=0:IF C>0 THEN RETURN
  180. 2710 FOR Z=1 TO NP
  181. 2720 IF X(RR(Z,0)) OR X(RR(Z,1)) THEN RETURN
  182. 2730 NEXT Z:ZP=1:RETURN
  183. 2995 RETURN
  184. 60000 IN$=" ":ZT=TI:ZC=2:ZD$=CHR$(20)
  185. 60010 GET Z$:IF Z$<>"" THEN 60070
  186. 60020 IF ZT<=TI THEN PRINT MID$(" ª",ZC,1);"¥";:ZC=3-ZC:ZT=TI+15
  187. 60030 GOTO 60010
  188. 60070 Z=ASC(Z$):ZL=LEN(IN$):IF (Z AND 127)<32 THEN PRINT " ¥";:GOTO 60110
  189. 60090 IF ZL>QI THEN 60010
  190. 60100 IN$=IN$+Z$:PRINT Z$;ZD$;Z$;
  191. 60110 IF Z=13 THEN IN$=MID$(IN$,2):PRINT CR$;:RETURN
  192. 60120 IF Z=20 AND ZL>1 THEN IN$=LEFT$(IN$,ZL-1):PRINT "¥";:GOTO 60010
  193. 60130 IF Z=141 THEN Z$=CHR$(-20*(ZL>1)):FOR Z=2 TO ZL:PRINT Z$;:NEXT:GOTO 60000
  194. 60140 GOTO 60010
  195. 61000 CRT=1024:VIC=53248:WD=40:CR$=CHR$(13):SID=54272:JS=56320:CM=55296
  196. 61010 QL=214:QI=254:RETURN
  197. 62000 GOSUB 61000:POKE VIC+32,0:POKE VIC+33,0:LN=LEN(PG$):TB=(40-LN)/2
  198. 62010 PRINT "ô₧" TAB(TB)LEFT$("                     ",LN)
  199. 62020 PRINT "" TAB(TB)PG$:PRINT ""TAB(TB)LEFT$("                     ",LN)
  200. 62030 PRINT "" TAB((40-LEN(AU$))/2)AU$
  201. 62040 MS$="HIT RETURN TO BEGIN":IF JF THEN MS$="HIT JOYSTICK BUTTON TO BEGIN"
  202. 62050 TB=((40-LEN(MS$))/2)
  203. 62060 PRINT "ƒ" TAB(TB)MS$:PRINT "ƒ         (C) 1983 THE CODE WORKS"
  204. 62070 GET IN$:IF IN$<>"" THEN 62120
  205. 62080 IF (PEEK(JS) AND 16)=0 THEN 62120
  206. 62090 PRINT "" TAB(TB)LEFT$("£ƒ",K+1)LEFT$(MS$,Q)
  207. 62100 Q=Q+1:IF Q>LEN(MS$) THEN Q=0:K=1-K
  208. 62110 GOTO 62070
  209. 62120 CLR:PRINT "ô":GOSUB 61000:GOTO 100
  210. 8224     
  211.