home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 112 / 112.d81 / eights (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  9KB  |  263 lines

  1. 1 rem eights for one copyright maurice jones 1993
  2. 2 poke56,56:poke51,0:clr:dv=peek(186):ifdv<8thendv=8
  3. 4 print"[147][158]  [207][203], so [201]'m hooked on [195]razy [197]ights ..."
  4. 5 dimi,x,y,su,et,mt,s,f,ca,va,t,jj,j%,nc,dv,fc,fr,fs,fv,g7,ga,gh,gt,hi,hl
  5. 6 hl=12:sk=13:poke16383,31:bd=03
  6. 7 dim j,k,ms,pl,sk,t2,tc,te,ts,tv,a$,bk$,ch$,lo
  7. 8 gosub111:print"[147][146]":poke53272,31
  8. 10 goto482
  9. 18 :
  10. 19 rem brancher
  11. 20 gosub62
  12. 21 fori=1tolen(ch$):ifa$=mid$(ch$,i,1)thenreturn
  13. 22 next:goto20
  14. 24 :
  15. 25 rem charge
  16. 26 a$="251331421502421502"
  17. 27 t=87:pokef+6,96:pokef+24,15
  18. 28 fori=1to18step3
  19. 29 pokef+1,val(mid$(a$,i,2)):pokef+4,33
  20. 30 forj=1tot*val(mid$(a$,i+2,1)):next
  21. 31 pokef+4,0:next:return
  22. 56 :
  23. 57 rem press a key-58: geta$-62
  24. 58 x=0:y=24:gosub66:print"/           please press a key [160]       [145][145][145]"
  25. 62 geta$:ifa$=""then70:return
  26. 66 poke211,x:poke214,y:sys58732:return
  27. 68 :
  28. 69 rem multitask
  29. 70 ifjj=nc-2thenjj=-1
  30. 71 jj=jj+1:j%=jj+int(rnd(0)*(nc-jj)):temp=s(jj):s(jj)=s(j%):s(j%)=temp:goto62
  31. 88 :
  32. 89 rem wrong choice sound
  33. 90 pokef+24,15:pokef+8,4:pokef+12,63:pokef+13,17:pokef+11,33
  34. 92 fort=1to100:next:pokef+11,32:return
  35. 109 :
  36. 110 rem setup
  37. 111 dimva$(13),vb$(13),st$(4,12),co$(3),s$(3),s1$(3)
  38. 112 data"[216]","[203]","[202]","[201]","[200]","[199]","[198]","[197]","[196]","&","[195]","[194]","[217]"
  39. 113 s$(0)="[162]":s$(1)="[173]":s$(2)="[192]":s$(3)="[193]":co$(0)="[144]":co$(1)="":co$(2)=""
  40. 114 co$(3)="[144]":s1$(0)="[161]":s1$(1)="[218]":s1$(2)="[223]":s1$(3)="[176]"
  41. 115 data"[204]","[215]","[214]","[213]","[212]","[211]","[210]","[209]","[208]","'","[207]","[206]","[205]"
  42. 116 bk$="!##$[157][157][157][157][170][188][188][171][157][157][157][157][170][188][188][171][157][157][157][157][170][188][188][171][157][157][157][157]\**+[157][157][157][157][145][145][145][145]"
  43. 117 deffns(x)=int(x/13):deffnv(x)=x-13*int(x/13)
  44. 118 f=54272:fori=ftof+78:pokei,0:next:mt=49152:ck$(0)="-":ck$(1)="["
  45. 122 st$(0,1)="[215][216][157][157][217][218][146]":st$(0,0)="[211][212][146]":st$(3,0)="[179][180][146]"
  46. 123 st$(0,9)="[193][194][157][157][195][196][157][157][197][198][157][157][199][200][157][157][201][202][146]":st$(3,2)="[183][184][157][157][179][180][157][157][185][186][146]"
  47. 124 st$(0,8)="[193][194][157][157][203][204][157][157][205][206][157][157][207][208][157][157][201][202][146]":st$(0,3)="[193][194][157][157][201][202][146]"
  48. 125 st$(3,8)="[161][162][157][157][171][172][157][157][173][174][157][157][175][176][157][157][169][170][146]":st$(0,7)="[193][194][157][157][211][212][157][157][209][210][157][157][213][214][157][157][201][202][146]"
  49. 126 st$(3,9)="[161][162][157][157][163][164][157][157][165][166][157][157][167][168][157][157][169][170][146]":st$(3,7)="[161][162][157][157][179][180][157][157][177][178][157][157][181][182][157][157][169][170][146]"
  50. 127 st$(3,1)="[183][184][157][157][185][186][146]":st$(0,2)="[215][216][157][157][211][212][157][157][217][218][146]"
  51. 128 st$(0,6)="[193][194][157][157][211][212][157][157][209][210][157][157][201][202][146]":st$(3,6)="[161][162][157][157][179][180][157][157][177][178][157][157][169][170][146]"
  52. 129 st$(3,3)="[161][162][157][157][169][170][146]":st$(0,5)="[193][194][157][157][209][210][157][157][201][202][146]"
  53. 130 st$(3,5)="[161][162][157][157][177][178][157][157][169][170][146]":st$(0,4)="[193][194][157][157][211][212][157][157][201][202][146]"
  54. 131 st$(3,4)="[161][162][157][157][179][180][157][157][169][170][146]":
  55. 132 st$(2,9)="ab[157][157]cd[157][157]ef[157][157]gh[157][157]ij":st$(2,8)="ab[157][157]kl[157][157]mn[157][157]op[157][157]ij"
  56. 133 st$(2,7)="ab[157][157]st[157][157]qr[157][157]uv[157][157]ij":st$(2,6)="ab[157][157]st[157][157]qr[157][157]ij"
  57. 134 st$(2,5)="ab[157][157]qr[157][157]ij":st$(2,4)="ab[157][157]st[157][157]ij":st$(2,3)="ab[157][157]ij"
  58. 135 st$(2,2)="wx[157][157]st[157][157]yz":st$(2,1)="wx[157][157]yz":st$(2,0)="st"
  59. 136 fori=2to3:forj=10to12:st$(i,j)="01[157][157]23[157][157]45[157][157]67[157][157]89":next:next
  60. 137 st$(1,9)="[219][220][157][157][187][188][157][157][223][191][157][157][189][190][157][157][221][255][146]"
  61. 138 st$(1,8)="[219][220][157][157]#$[157][157]%&[157][157]*+[157][157][221][255][146]"
  62. 139 st$(1,6)="[219][220][157][157]\^[157][157]<>[157][157][221][255][146]"
  63. 140 st$(1,5)="[219][220][157][157]<>[157][157][221][255][146]"
  64. 141 st$(1,4)="[219][220][157][157]\^[157][157][221][255][146]"
  65. 142 st$(1,7)="[219][220][157][157]\^[157][157]<>[157][157]_=[157][157][221][255][146]"
  66. 143 st$(1,1)="[166][167][157][157][168][169]":st$(1,2)="[166][167][157][157]\^[146][157][157][146][168][169]"
  67. 144 st$(1,0)="\^[146]":st$(1,3)="[219][220][157][157][221][255][146]"
  68. 145 fori=0to3:st$(i,11)="()[157][157]>?[157][157]45[157][157]<=[157][157]:;":next
  69. 146 st$(0,10)="()[157][157]^_[157][157]45[157][157][][157][157]:;"
  70. 147 st$(1,10)="()[157][157]^_[157][157]45[157][157][][157][157]:;"
  71. 148 st$(1,12)="01[157][157]23[157][157]45[157][157]67[157][157]89"
  72. 149 st$(0,12)="()[157][157]^_[157][157]45[157][157][][157][157]:;"
  73. 150 st$(2,12)="()[157][157]^_[157][157]45[157][157][][157][157]:;"
  74. 151 st$(3,12)="()[157][157]^_[157][157]45[157][157][][157][157]:;"
  75. 152 fori=0to12:readva$(i):next:fori=0to12:readvb$(i):next:so=1:pg=0
  76. 154 dimb(05,52),x(06),y(06),c(05)
  77. 156 dk=3:ms=6:dimdk(48):wr=0
  78. 160 x(1)=2:y(1)=2:x(2)=7:y(2)=2:x(3)=13:y(3)=12:y(4)=12:x(4)=19
  79. 164 x(5)=16:y(5)=3:x(6)=14:y(6)=21
  80. 166 nc=48:jj=-1:dims(nc):fori=0to6:s(i)=i:next:fori=7to18:s(i)=i+1:next
  81. 167 fori=19to30:s(i)=i+2:next:fori=31to42:s(i)=i+3:next
  82. 169 fori=43to47:s(i)=i+4:next
  83. 176 jj=jj+1:j%=jj+int(rnd(0)*(nc-jj)):temp=s(jj):s(jj)=s(j%):s(j%)=temp
  84. 178 ifjj<>nc-2then176
  85. 180 return
  86. 198 :
  87. 199 rem play cards-magic
  88. 200 x=x(i):y=y(i):gosub66:ifc(i)=0then224
  89. 202 ca=b(i,c(i)):ifc(i)=0then224
  90. 203 su=fns(ca):va=fnv(ca)
  91. 210 ifso=0then220
  92. 214 pokef+24,6:pokef+5,128:pokef+4,129:fort=1to20:next:pokef+4,128:pokef+5,0
  93. 216 pokef+24,0:pokef+24,15:pokef+4,129:pokef+4,128
  94. 220 printco$(su);va$(va);"[179][179][177][157][157][157][157]";s$(su);"  [174][157][157][157][157][163]  [174][157][157][157][157][163]  ";s1$(su);
  95. 222 print"[157][157][157][157][180][178][178]";vb$(va);"[145][145][145][145][157][157][157]";st$(su,va);:return
  96. 223 rem erases card-tile
  97. 224 sysmt+3,x,x+3,y,y+4,00,sk:return
  98. 228 :
  99. 229 rem horizontal pile-230 transfers cards,picks up-236 plays to
  100. 230 ifc(i)>18then240
  101. 232 y=y(i)+c(i):x=x(i):gosub66:gosub224
  102. 236 x=x(i):y=y(i)-1+c(i):ifc(i)=0theny=y(i)
  103. 237 ify>19theny=19
  104. 238 gosub66:gosub202:return
  105. 240 x=x(i):y=19:gosub66:gosub202:return
  106. 268 :
  107. 269 rem will it play?
  108. 270 pl=1:iffs=fns(b(5,c(5)))thenpl=2
  109. 272 rempl=2
  110. 274 iffnv(b(5,c(5)))=7thenpl=2
  111. 276 iffv=fnv(b(5,c(5)))thenpl=2
  112. 277 return
  113. 278 :
  114. 279 rem toggle sound
  115. 280 if so=0then288
  116. 284 so=0:x=36:y=17:gosub66:print"[159]-":return
  117. 288 so=1:x=36:y=17:gosub66:print"[159][":return
  118. 298 :
  119. 299 rem choice box-color needed
  120. 300 x=x(ms):y=y(ms):gosub66:print"[192][192][192][192][192][192][192][192][157][157][157][157][157][157][157][157]        [157][157][157][157][157][157][157][157][192][192][192][192][192][192][192][192]"
  121. 302 gosub66:return
  122. 308 :
  123. 309 rem erase message & box
  124. 310 poke646,sk:x=x(ms):y=y(ms):gosub66
  125. 312 print"[146]@@@@@@@@[157][157][157][157][157][157][157][157]@@@@@@@@[157][157][157][157][157][157][157][157]@@@@@@@@":return
  126. 414 :
  127. 415 rem  spread pile i
  128. 416 k=c(i):k1=c(i):ifc(i)>19thenk1=19
  129. 418 x=x(i):forj=k1to1step-1:y=1+j:gosub66:gosub224:next
  130. 419 ifk>35then422
  131. 420 x=1:y=1:forj=1tok:gosub66:c(i)=j:gosub202:x=x+1:next:goto424
  132. 422 x=1:y=1:forj=1tok-34:gosub66:c(i)=j:gosub202:next:forj=k-33tok:x=x+1
  133. 423 c(i)=j:gosub66:gosub202:next
  134. 424 poke646,6:x=3:y=7:gosub66:print"[192][192][192][192][192][192][192][192][192][157][157][157][157][157][157][157][157][157] any key ":y=y+2:gosub66
  135. 426 print"[192][192][192][192][192][192][192][192][192]":gosub62:return
  136. 438 :
  137. 439 rem perfect game end here-others at 450
  138. 440 g7=720+120*c(4):sysmt+6,208:sysmt+3,05,19,2,7,160,2
  139. 441 pg=pg+1:x=06:y=3:gosub66:poke646,2:print"perfect game!"
  140. 442 y=y+1:gosub66:print"  bonus 240"
  141. 4