home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1986 May / Ahoy_Magazine_86-05_1986_Double_L.d64 / alchemist's (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  8KB  |  297 lines

  1. 900 print "[147]
  2. 910 [153] "          alchemist's apprentice"
  3. 920 [153] "                 copyright"
  4. 930 [153] "            cheryl cox peterson"
  5. 940 [153] "                   1986"
  6. 950 [153]:[153]:[153]:[153]
  7. 960 [133]"do you need instructions";x$
  8. 970 [139] x$[178]"n" [167] [137] 1500
  9. 980 [153]"load"
  10. 990 i[178]1
  11. 1000 [153]"the game's objective is to create"
  12. 1005 [153]"and hide as much gold as you can"
  13. 1010 [153]"before your master, the alchemist"
  14. 1015 [153]"returns from the alchemist's"
  15. 1020 [153]"association's annual convention."
  16. 1030 [153]"the boss may call to let you"
  17. 1035 [153]"know when he's returning."
  18. 1040 [153]"then again, he may not. if you"
  19. 1045 [153]"don't have the shop cleaned"
  20. 1050 [153]"before he returns, you'll get a beating."
  21. 1060 [141] 10100
  22. 1065 [153]"load"
  23. 1070 [153]"there are dangers involved."
  24. 1075 [153]"though you've learned much, even slight"
  25. 1080 [153]"changes in incantations or ingredients"
  26. 1085 [153]"can cause unpredictable results."
  27. 1100 [153]"once you have the right combination"
  28. 1103 [153] "of incantations and ingredients,"
  29. 1105 [153]"it can only change 10 stones at a time."
  30. 1200 [153]"you may use up your ingredients"
  31. 1203 [153]"and have to fetch more."
  32. 1205 [153]"even the weather can change a spell's"
  33. 1208 [153]"effectiveness."
  34. 1210 [153]"if the alchemist returns before you get your gold hidden"
  35. 1220 [153]"you lose your gold and get whipped."
  36. 1230 [153]"              good luckwait."
  37. 1300 [141] 10100
  38. 1500 [143] setup
  39. 1550 [153]"load"
  40. 1560 [134] a(17), m1(17), m2(9), wt(10), r(11), rc(10)
  41. 1570 i[178]0
  42. 1900 cs[178]0:sb[178]0:y[178]0:tl[178]0:g[178]0
  43. 1910 [153]"load"
  44. 2000 [143] main routine
  45. 2002 [139] tl[177]0 [167] 2010
  46. 2005 t[178][181]([187](1)[172]10[170]1)
  47. 2010 r[178][181]([187](1)[172]10[170]1)
  48. 2015 [139] tl[177]0 [167] tl[178]tl[170]1
  49. 2045 [143] print"load"
  50. 2050 [145] r [141] 4000,4500,5000,6000,7000,7000,8000,8000,9000,6000,4000
  51. 3000 [143] clock routine
  52. 3005 [139] t[179][177]1 [167] 2000
  53. 3006 [139] tl[178]0 [167] tl[178]1
  54. 3010 [139] tl[178]60 [167] [137] 3500
  55. 3020 [139] tl[179][177]45 [167] 3030
  56. 3025 [153]"the alchemist will return in 15 minutes.
  57. 3030 if tl<>30 then 3040
  58. 3035 print"the alchemist will return in 30 minutes."
  59. 3040 if tl<>15 then 3050
  60. 3045 print"the alchemist will return in 45 minutes"
  61. 3050 goto 2000
  62. 3500 rc=int(rnd(1)*15+1)
  63. 3501 print"game over"
  64. 3510 goto 20000
  65. 4000 rem found it subroutine
  66. 4020 if y=1 then return
  67. 4030 print"hey wow you found it!"
  68. 4032 print"that's 10 pieces of gold."
  69. 4034 if tl>0 then tl=tl+1
  70. 4040 g=g+10
  71. 4050 gosub 10010
  72. 4100 rc=int(rnd(1)*15+1)
  73. 4110 if rc>14 then gosub 20500
  74. 4120 if rc>11 then goto 4200
  75. 4130 g=g+10:print"you changed another 10 stones."
  76. 4140 print "you now have ";g; "gold nuggets.":gosub 10010
  77. 4150 goto 4100
  78. 4200 print "the weather changed and"
  79. 4210 print "your spell no longer works. too bad."
  80. 4220 gosub 10010
  81. 4499 return
  82. 4500 rem partly successful subroutine
  83. 4600 g1=int(rnd(1)*6+1)
  84. 4610 print"congratulations! you managed to"
  85. 4620 print"change ";g1; "of the stones into gold.":g=g+g1:gosub 10010
  86. 4625 tl=tl+1
  87. 4630 print"do you want to use the s[146]ame spell"
  88. 4640 input"or try something d[146]ifferent";x$
  89. 4645 print"[147]"
  90. 4650 if x$="d" then return
  91. 4660 if x$<>"s" then 4630
  92. 4700 y=int(rnd(1)*15+1)
  93. 4710 if y>14 then goto 5000
  94. 4720 if y<13 then 4800
  95. 4740 print"too bad. the weather changed, so you're"
  96. 4750 print"spell isn't working any more."
  97. 4760 y=1
  98. 4780 gosub 10010
  99. 4790 return
  100. 4800 print"you've turned ";g1;" more of the stones to gold.":g=g+g1
  101. 4810 tl=tl+1:gosub 10010
  102. 4820 goto 4630
  103. 5000 rem early subroutine
  104. 5010 if tl<20 then return
  105. 5100 goto 20510
  106. 6000 rem counterspell routine
  107. 6010 if cs=1 then return
  108. 6100 print"you stumble across a counterspell"
  109. 6110 print"that reverses the last spell made."
  110. 6120 print"it must be repeated exactly as written"
  111. 6130 print"in the book in order to work."
  112. 6140 print"you memorize it!":cs=1
  113. 6150 gosub 10010
  114. 6999 return
  115. 7000 rem wasted time subroutine
  116. 7010 wt=int(rnd(1)*9+1):if y=3 then return
  117. 7020 on wt gosub 7100,7200,7300,7400,7500,7600,7700,7800,7900,7960
  118. 7030 gosub 10010
  119. 7040 return
  120. 7100 if sb=1 then return
  121. 7110 print"you found the alchemist's spell book,"
  122. 7120 print"but the spell you want isn't in it."
  123. 7130 print"you wasted 20 minutes looking for it!"
  124. 7135 print"tough luck!"
  125. 7140 if tl>40 then gosub 20010
  126. 7150 tl=tl+20:sb=1:return
  127. 7200 print"you can't seem to find that"
  128. 7210 print"ingredient you want."
  129. 7220 print"you waste 6 minutes looking for it."
  130. 7250 tl=tl+6:return
  131. 7300 print"a friend calls you up. you waste 10"
  132. 7310 print"minutes trying to get rid of him."
  133. 7320 tl=tl+10
  134. 7350 tl=tl+10:return
  135. 7400 print"delivery man brings supplies."
  136. 7410 print"you waste 7 minutes checking contents"
  137. 7420 print"and signing for it."
  138. 7450 tl=tl+7:return
  139. 7500 print"you misplaced the mortar and pestle,"
  140. 7510 print"and you need to grind some ingredients."
  141. 7520 print"you spend 3 minutes locating them."
  142. 7550 tl=tl+3:return
  143. 7600 print"there's never a lighter when you"
  144. 7610 print"need one. you spend 2 minutes looking."
  145. 7650 tl=tl+2:return
  146. 7700 print"everything is so confusing."
  147. 7710 print"take a minute to stop and think."
  148. 7750 tl=tl+1:return
  149. 7800 print"you remember something the alchemist"
  150. 7810 print"wanted you to do."
  151. 7820 print"you take 5 minutes to do it."
  152. 7850 tl=tl+5:return
  153. 7900 print"you need some more distilled water."
  154. 7910 print"you spend 4 minutes setting it up."
  155. 7950 tl=tl+4:return
  156. 7960 print"you'll need more stones soon."
  157. 7970 print"collecting more takes you 8 minutes."
  158. 7980 tl=tl+8:return
  159. 7999 return
  160. 8000 rem monster subroutine
  161. 8010 m1=int(rnd(1)*9+1)
  162. 8100 print"oh no! you created a ";
  163. 8200 on m1 gosub 8310,8320,8330,8340,8350,8360,8370,8380,8390
  164. 8300 goto 8400
  165. 8310 print"small dragon ":return
  166. 8320 print"chimera ":return
  167. 8330 print"hydra ":return
  168. 8340 print"lion ":return
  169. 8350 print"bear ":return
  170. 8360 print"tiger ":return
  171. 8370 print"harpy ":return
  172. 8380 print"wolf ":return
  173. 8390 print"alligator":return
  174. 8400 print"and it looks hungry!"
  175. 8410 print"do something quick!"
  176. 8415 gosub 10100
  177. 8420 if cs=0 goto 8600
  178. 8430 print"use the counterspell."
  179. 8435 gosub 10100
  180. 8440 gosub 10010
  181. 8450 return
  182. 8600 m2=int(rnd(1)*09+1)
  183. 8610 on m2 gosub 8650,8700,8750,8700,8850,8700,8750,8700,8650,8800
  184. 8620 return
  185. 8650 print"oh no! you made another one!"
  186. 8660 print"you'd better try again."
  187. 8663 gosub 10100
  188. 8665 tl=tl+1
  189. 8670 goto 8600
  190. 8675 tl=tl+1:goto 8600
  191. 8700 print"would you be more careful?"
  192. 8710 gosub 10010
  193. 8720 return
  194. 8750 print"that didn't work. the situation's"
  195. 8760 print"getting desperate. hurry!"
  196. 8765 gosub 10100
  197. 8800 print"what are you doing? turning yourself "
  198. 8810 print"into a chicken won't help!"
  199. 8820 print"change back and try again."
  200. 8825 gosub 10100
  201. 8830 tl=tl+1:goto 8600
  202. 8850 print"too late. at least you were tasty."
  203. 8855 print"you had ";g;" gold pieces when you died."
  204. 8860 goto 10070
  205. 8999 return
  206. 9000 rem animal subroutine
  207. 9100 a=int(rnd(1)*12+1)
  208. 9200 print"you've changed yourself into a ";
  209. 9210 onagosub 9310,9320,9340,9350,9360,9370,9380,9390,9400,9410,9420,9430,9440
  210. 9290 goto 9500
  211. 9310 print"dog. ":return
  212. 9320 print"pig. ":return
  213. 9330 print"cat. ":return
  214. 9340 print"turkey. ":return
  215. 9350 print"fox. ":return
  216. 9360 print"cow. ":return
  217. 9370 print"duck. ":return
  218. 9380 print"goat. ":return
  219. 9390 print"frog. ":return
  220. 9400 print"lizard. ":return
  221. 9410 print"newt":return
  222. 9420 print"snake. ":return
  223. 9430 print"turtle. ":return
  224. 9440 print"goldfish. ":return
  225. 9500 if a>12 then goto 9900
  226. 9510 if a>7 then goto 9700
  227. 9600 print"even if you know the counterspell, "
  228. 9610 print"you can't use it. try swishing"
  229. 9620 print"your tail or something."
  230. 9630 gosub 10100
  231. 9650 f=int(rnd(1)*2+1)
  232. 9660 if f=2 then goto 9685
  233. 9670 print"that did it!"
  234. 9675 gosub 10010
  235. 9680 return
  236. 9685 print"that didn't work. try again."
  237. 9690 gosub 10100
  238. 9695 tl=tl+1:goto 9650
  239. 9700 print"what a predicament! try flicking "
  240. 9710 print"your tongue or wiggling something."
  241. 9715 gosub 10100
  242. 9720 f=int(rnd(1)*2+1)
  243. 9730 if f=1 then gosub 9980
  244. 9740 if f=1 then goto 9720
  245. 9750 print"that's an improvement. at least, "
  246. 9760 print"you're warm-blooded."
  247. 9765 gosub 10100
  248. 9770 a=int(rnd(1)-5+12)
  249. 9780 goto 9200
  250. 9900 print"you are supposed to make gold[146], not"
  251. 9910 print"turn yourself into a gold[146]fish."
  252. 9920 print"start blowing bubbles. maybe you'll"
  253. 9930 print"stumble across the right pattern."
  254. 9935 gosub 10100
  255. 9940 f=int(rnd(1)*2+1)
  256. 9945 if f=1 then gosub 9980
  257. 9950 print"that's a little better."
  258. 9955 gosub 10100
  259. 9970 goto 9700
  260. 9980 print"that didn't work. try again.  "
  261. 9981 gosub 10100
  262. 9985 tl=tl+1:return
  263. 9999 end
  264. 10010 print"do you want to start cleaning up?"
  265. 10020 print"the alchemist could return early."
  266. 10030 input"y[146] or n[146]";x$
  267. 10050 if x$<>"y"then 10090
  268. 10060 print"congratulations, you've got ";g;" gold pieces."
  269. 10070 print"would you like to try again?"
  270. 10080 input "y[146] or n[146]";d$
  271. 10085 if d$="y"then 1900
  272. 10089 end
  273. 10090 if tl>20 then print"[147]":return
  274. 10094 print"[147]"
  275. 10095 print"ok, let's try it again.":return
  276. 10100 if i=1 then goto 10110
  277. 10105 print"press a key to try something else.":goto 10200
  278. 10110 print:print"press a key to continue"
  279. 10200 get q$
  280. 10300 if q$="" then 10200
  281. 10400 if q$<>"" then print"[147]"
  282. 10500 return
  283. 20000 rem alchemist returns
  284. 20010 print"too bad. the alchemist is back"
  285. 20020 goto 20515
  286. 20500 rem alchemist returns early
  287. 20510 print"too bad. the alchemist returned early"
  288. 20515 if g<1 then goto 20525
  289. 20520 print"you lose all your gold"
  290. 20525 print"and you get a beating."
  291. 20530 print"better luck next time."
  292. 20540 print"care to try again?"
  293. 20545 input"y[146] or n[146]";d$
  294. 20550 if d$="y" then goto 1900
  295. 20560 if d$="n" then 9999
  296. 20570 goto 20540
  297.