basic101 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.simplecov +1 -0
  4. data/.yardopts +7 -0
  5. data/Changelog.md +3 -0
  6. data/Gemfile +12 -0
  7. data/Gemfile.lock +75 -0
  8. data/LICENSE.md +9 -0
  9. data/README.md +193 -0
  10. data/Rakefile +14 -0
  11. data/VERSION +1 -0
  12. data/bin/basic101 +10 -0
  13. data/lib/basic101/abs_function.rb +19 -0
  14. data/lib/basic101/argument_checker.rb +61 -0
  15. data/lib/basic101/arguments.rb +32 -0
  16. data/lib/basic101/array_reference.rb +52 -0
  17. data/lib/basic101/asc_function.rb +17 -0
  18. data/lib/basic101/basic_array.rb +69 -0
  19. data/lib/basic101/basic_comparisons.rb +20 -0
  20. data/lib/basic101/basic_float.rb +48 -0
  21. data/lib/basic101/basic_integer.rb +48 -0
  22. data/lib/basic101/basic_math.rb +22 -0
  23. data/lib/basic101/basic_numeric.rb +96 -0
  24. data/lib/basic101/basic_object.rb +35 -0
  25. data/lib/basic101/basic_string.rb +85 -0
  26. data/lib/basic101/binary_operation.rb +32 -0
  27. data/lib/basic101/binary_operations.rb +26 -0
  28. data/lib/basic101/built_in_functions.rb +31 -0
  29. data/lib/basic101/chr_function.rb +17 -0
  30. data/lib/basic101/cos_function.rb +17 -0
  31. data/lib/basic101/data_statement.rb +24 -0
  32. data/lib/basic101/define_function_statement.rb +23 -0
  33. data/lib/basic101/dim_statement.rb +25 -0
  34. data/lib/basic101/else_statement.rb +22 -0
  35. data/lib/basic101/end_statement.rb +13 -0
  36. data/lib/basic101/endif_statement.rb +19 -0
  37. data/lib/basic101/errors.rb +50 -0
  38. data/lib/basic101/exp_function.rb +17 -0
  39. data/lib/basic101/for_stack.rb +48 -0
  40. data/lib/basic101/for_statement.rb +57 -0
  41. data/lib/basic101/function.rb +11 -0
  42. data/lib/basic101/function_call.rb +32 -0
  43. data/lib/basic101/function_identifier.rb +8 -0
  44. data/lib/basic101/functions.rb +39 -0
  45. data/lib/basic101/gosub_statement.rb +23 -0
  46. data/lib/basic101/goto_statement.rb +23 -0
  47. data/lib/basic101/identifier.rb +23 -0
  48. data/lib/basic101/identity.rb +18 -0
  49. data/lib/basic101/if_statement.rb +31 -0
  50. data/lib/basic101/input.rb +44 -0
  51. data/lib/basic101/input_reader.rb +55 -0
  52. data/lib/basic101/input_statement.rb +46 -0
  53. data/lib/basic101/int_function.rb +17 -0
  54. data/lib/basic101/left_function.rb +19 -0
  55. data/lib/basic101/len_function.rb +18 -0
  56. data/lib/basic101/let_statement.rb +24 -0
  57. data/lib/basic101/line.rb +32 -0
  58. data/lib/basic101/log_function.rb +17 -0
  59. data/lib/basic101/main.rb +24 -0
  60. data/lib/basic101/mid_function.rb +20 -0
  61. data/lib/basic101/negate_operation.rb +21 -0
  62. data/lib/basic101/next_statement.rb +34 -0
  63. data/lib/basic101/not_operation.rb +23 -0
  64. data/lib/basic101/null_prompt_delimeter.rb +12 -0
  65. data/lib/basic101/null_transcript.rb +20 -0
  66. data/lib/basic101/numeric_identifier.rb +16 -0
  67. data/lib/basic101/on_goto_statement.rb +29 -0
  68. data/lib/basic101/output.rb +73 -0
  69. data/lib/basic101/parser.rb +457 -0
  70. data/lib/basic101/power_operation.rb +24 -0
  71. data/lib/basic101/print_comma.rb +20 -0
  72. data/lib/basic101/print_semicolon.rb +19 -0
  73. data/lib/basic101/print_statement.rb +33 -0
  74. data/lib/basic101/program.rb +100 -0
  75. data/lib/basic101/program_counter.rb +52 -0
  76. data/lib/basic101/prompt_delimeter.rb +13 -0
  77. data/lib/basic101/randomize_statement.rb +13 -0
  78. data/lib/basic101/read_statement.rb +25 -0
  79. data/lib/basic101/reference.rb +25 -0
  80. data/lib/basic101/remark_statement.rb +12 -0
  81. data/lib/basic101/restore_statement.rb +23 -0
  82. data/lib/basic101/return_statement.rb +16 -0
  83. data/lib/basic101/right_function.rb +19 -0
  84. data/lib/basic101/rnd_function.rb +24 -0
  85. data/lib/basic101/runtime.rb +132 -0
  86. data/lib/basic101/scalar_reference.rb +19 -0
  87. data/lib/basic101/sgn_function.rb +17 -0
  88. data/lib/basic101/sin_function.rb +17 -0
  89. data/lib/basic101/sqr_function.rb +17 -0
  90. data/lib/basic101/statement.rb +36 -0
  91. data/lib/basic101/stop_statement.rb +14 -0
  92. data/lib/basic101/str_function.rb +16 -0
  93. data/lib/basic101/string_identifier.rb +16 -0
  94. data/lib/basic101/tab.rb +18 -0
  95. data/lib/basic101/tab_function.rb +17 -0
  96. data/lib/basic101/tan_function.rb +17 -0
  97. data/lib/basic101/transcript.rb +37 -0
  98. data/lib/basic101/transform.rb +264 -0
  99. data/lib/basic101/user_defined_function.rb +54 -0
  100. data/lib/basic101/val_function.rb +16 -0
  101. data/lib/basic101.rb +93 -0
  102. data/rake_tasks/default.rake +1 -0
  103. data/rake_tasks/integration.rake +8 -0
  104. data/rake_tasks/jeweler.rake +28 -0
  105. data/rake_tasks/spec.rake +8 -0
  106. data/rake_tasks/test.rake +2 -0
  107. data/rake_tasks/yard.rake +3 -0
  108. data/test/integration/arguments.rb +25 -0
  109. data/test/integration/errors.rb +7 -0
  110. data/test/integration/integration_test.rb +28 -0
  111. data/test/integration/main.rb +49 -0
  112. data/test/integration/output_file.rb +40 -0
  113. data/test/integration/test.rb +135 -0
  114. data/test/integration/tests/basic_computer_games/23-match.bas +64 -0
  115. data/test/integration/tests/basic_computer_games/23-match.input +1 -0
  116. data/test/integration/tests/basic_computer_games/23-match.output +29 -0
  117. data/test/integration/tests/basic_computer_games/3dplot.bas +17 -0
  118. data/test/integration/tests/basic_computer_games/3dplot.input +0 -0
  119. data/test/integration/tests/basic_computer_games/3dplot.output +47 -0
  120. data/test/integration/tests/basic_computer_games/aceyducy.bas +100 -0
  121. data/test/integration/tests/basic_computer_games/aceyducy.input +8 -0
  122. data/test/integration/tests/basic_computer_games/aceyducy.output +78 -0
  123. data/test/integration/tests/basic_computer_games/amazing.bas +138 -0
  124. data/test/integration/tests/basic_computer_games/amazing.input +1 -0
  125. data/test/integration/tests/basic_computer_games/amazing.output +32 -0
  126. data/test/integration/tests/basic_computer_games/animal.bas +71 -0
  127. data/test/integration/tests/basic_computer_games/animal.input +17 -0
  128. data/test/integration/tests/basic_computer_games/animal.output +38 -0
  129. data/test/integration/tests/basic_computer_games/awari.bas +70 -0
  130. data/test/integration/tests/basic_computer_games/awari.input +11 -0
  131. data/test/integration/tests/basic_computer_games/awari.output +117 -0
  132. data/test/integration/tests/basic_computer_games/bagels.bas +81 -0
  133. data/test/integration/tests/basic_computer_games/bagels.input +12 -0
  134. data/test/integration/tests/basic_computer_games/bagels.output +42 -0
  135. data/test/integration/tests/basic_computer_games/banner.bas +94 -0
  136. data/test/integration/tests/basic_computer_games/banner.input +6 -0
  137. data/test/integration/tests/basic_computer_games/banner.output +135 -0
  138. data/test/integration/tests/basic_computer_games/basketbl.bas +196 -0
  139. data/test/integration/tests/basic_computer_games/basketbl.input +46 -0
  140. data/test/integration/tests/basic_computer_games/basketbl.output +509 -0
  141. data/test/integration/tests/basic_computer_games/batnum.bas +90 -0
  142. data/test/integration/tests/basic_computer_games/batnum.input +14 -0
  143. data/test/integration/tests/basic_computer_games/batnum.output +67 -0
  144. data/test/integration/tests/basic_computer_games/battle.bas +196 -0
  145. data/test/integration/tests/basic_computer_games/battle.input +21 -0
  146. data/test/integration/tests/basic_computer_games/battle.output +118 -0
  147. data/test/integration/tests/basic_computer_games/blackjck.bas +321 -0
  148. data/test/integration/tests/basic_computer_games/blackjck.input +26 -0
  149. data/test/integration/tests/basic_computer_games/blackjck.output +144 -0
  150. data/test/integration/tests/basic_computer_games/bombard.bas +93 -0
  151. data/test/integration/tests/basic_computer_games/bombard.input +20 -0
  152. data/test/integration/tests/basic_computer_games/bombard.output +175 -0
  153. data/test/integration/tests/basic_computer_games/bounce.bas +53 -0
  154. data/test/integration/tests/basic_computer_games/bounce.input +0 -0
  155. data/test/integration/tests/basic_computer_games/bounce.output +15 -0
  156. data/test/integration/tests/basic_computer_games/bowling.bas +101 -0
  157. data/test/integration/tests/basic_computer_games/bowling.input +23 -0
  158. data/test/integration/tests/basic_computer_games/bowling.output +229 -0
  159. data/test/integration/tests/basic_computer_games/boxing.bas +142 -0
  160. data/test/integration/tests/basic_computer_games/boxing.input +8 -0
  161. data/test/integration/tests/basic_computer_games/boxing.output +47 -0
  162. data/test/integration/tests/basic_computer_games/bug.bas +256 -0
  163. data/test/integration/tests/basic_computer_games/bug.input +17 -0
  164. data/test/integration/tests/basic_computer_games/bug.output +847 -0
  165. data/test/integration/tests/basic_computer_games/bullfght.bas +193 -0
  166. data/test/integration/tests/basic_computer_games/bullfght.input +4 -0
  167. data/test/integration/tests/basic_computer_games/bullfght.output +60 -0
  168. data/test/integration/tests/basic_computer_games/bullseye.bas +37 -0
  169. data/test/integration/tests/basic_computer_games/bullseye.input +10 -0
  170. data/test/integration/tests/basic_computer_games/bullseye.output +79 -0
  171. data/test/integration/tests/basic_computer_games/bunny.bas +40 -0
  172. data/test/integration/tests/basic_computer_games/bunny.input +0 -0
  173. data/test/integration/tests/basic_computer_games/bunny.output +67 -0
  174. data/test/integration/tests/basic_computer_games/buzzword.bas +25 -0
  175. data/test/integration/tests/basic_computer_games/buzzword.input +4 -0
  176. data/test/integration/tests/basic_computer_games/buzzword.output +25 -0
  177. data/test/integration/tests/basic_computer_games/calendar.bas +58 -0
  178. data/test/integration/tests/basic_computer_games/calendar.input +0 -0
  179. data/test/integration/tests/basic_computer_games/calendar.output +213 -0
  180. data/test/integration/tests/basic_computer_games/change.bas +51 -0
  181. data/test/integration/tests/basic_computer_games/change.input +4 -0
  182. data/test/integration/tests/basic_computer_games/change.output +28 -0
  183. data/test/integration/tests/basic_computer_games/checkers.bas +82 -0
  184. data/test/integration/tests/basic_computer_games/checkers.input +74 -0
  185. data/test/integration/tests/basic_computer_games/checkers.output +673 -0
  186. data/test/integration/tests/basic_computer_games/chemist.bas +27 -0
  187. data/test/integration/tests/basic_computer_games/chemist.input +11 -0
  188. data/test/integration/tests/basic_computer_games/chemist.output +54 -0
  189. data/test/integration/tests/basic_computer_games/chief.bas +51 -0
  190. data/test/integration/tests/basic_computer_games/chief.input +5 -0
  191. data/test/integration/tests/basic_computer_games/chief.output +19 -0
  192. data/test/integration/tests/basic_computer_games/chomp.bas +104 -0
  193. data/test/integration/tests/basic_computer_games/chomp.input +15 -0
  194. data/test/integration/tests/basic_computer_games/chomp.output +159 -0
  195. data/test/integration/tests/basic_computer_games/combat.bas +124 -0
  196. data/test/integration/tests/basic_computer_games/combat.input +7 -0
  197. data/test/integration/tests/basic_computer_games/combat.output +33 -0
  198. data/test/integration/tests/basic_computer_games/craps.bas +82 -0
  199. data/test/integration/tests/basic_computer_games/craps.input +9 -0
  200. data/test/integration/tests/basic_computer_games/craps.output +51 -0
  201. data/test/integration/tests/basic_computer_games/cube.bas +161 -0
  202. data/test/integration/tests/basic_computer_games/cube.input +25 -0
  203. data/test/integration/tests/basic_computer_games/cube.output +72 -0
  204. data/test/integration/tests/basic_computer_games/depthchg.bas +33 -0
  205. data/test/integration/tests/basic_computer_games/depthchg.input +16 -0
  206. data/test/integration/tests/basic_computer_games/depthchg.output +83 -0
  207. data/test/integration/tests/basic_computer_games/diamond.bas +27 -0
  208. data/test/integration/tests/basic_computer_games/diamond.input +1 -0
  209. data/test/integration/tests/basic_computer_games/diamond.output +65 -0
  210. data/test/integration/tests/basic_computer_games/dice.bas +31 -0
  211. data/test/integration/tests/basic_computer_games/dice.input +4 -0
  212. data/test/integration/tests/basic_computer_games/dice.output +46 -0
  213. data/test/integration/tests/basic_computer_games/digits.bas +78 -0
  214. data/test/integration/tests/basic_computer_games/digits.input +5 -0
  215. data/test/integration/tests/basic_computer_games/digits.output +70 -0
  216. data/test/integration/tests/basic_computer_games/evenwin1.bas +128 -0
  217. data/test/integration/tests/basic_computer_games/evenwin1.input +13 -0
  218. data/test/integration/tests/basic_computer_games/evenwin1.output +116 -0
  219. data/test/integration/tests/basic_computer_games/evenwin2.bas +70 -0
  220. data/test/integration/tests/basic_computer_games/evenwin2.input +14 -0
  221. data/test/integration/tests/basic_computer_games/evenwin2.output +56 -0
  222. data/test/integration/tests/basic_computer_games/flipflop.bas +79 -0
  223. data/test/integration/tests/basic_computer_games/flipflop.input +8 -0
  224. data/test/integration/tests/basic_computer_games/flipflop.output +45 -0
  225. data/test/integration/tests/basic_computer_games/footbal1.bas +298 -0
  226. data/test/integration/tests/basic_computer_games/footbal1.input +13 -0
  227. data/test/integration/tests/basic_computer_games/footbal1.output +315 -0
  228. data/test/integration/tests/basic_computer_games/footbal2.bas +181 -0
  229. data/test/integration/tests/basic_computer_games/footbal2.input +23 -0
  230. data/test/integration/tests/basic_computer_games/footbal2.output +318 -0
  231. data/test/integration/tests/basic_computer_games/furtradr.bas +170 -0
  232. data/test/integration/tests/basic_computer_games/furtradr.input +20 -0
  233. data/test/integration/tests/basic_computer_games/furtradr.output +133 -0
  234. data/test/integration/tests/basic_computer_games/golf.bas +244 -0
  235. data/test/integration/tests/basic_computer_games/golf.input +11 -0
  236. data/test/integration/tests/basic_computer_games/golf.output +69 -0
  237. data/test/integration/tests/basic_computer_games/gomoko.bas +54 -0
  238. data/test/integration/tests/basic_computer_games/gomoko.input +6 -0
  239. data/test/integration/tests/basic_computer_games/gomoko.output +66 -0
  240. data/test/integration/tests/basic_computer_games/guess.bas +40 -0
  241. data/test/integration/tests/basic_computer_games/guess.input +8 -0
  242. data/test/integration/tests/basic_computer_games/guess.output +37 -0
  243. data/test/integration/tests/basic_computer_games/gunner.bas +52 -0
  244. data/test/integration/tests/basic_computer_games/gunner.input +18 -0
  245. data/test/integration/tests/basic_computer_games/gunner.output +91 -0
  246. data/test/integration/tests/basic_computer_games/hamurabi.bas +119 -0
  247. data/test/integration/tests/basic_computer_games/hamurabi.input +7 -0
  248. data/test/integration/tests/basic_computer_games/hamurabi.output +51 -0
  249. data/test/integration/tests/basic_computer_games/hangman.bas +81 -0
  250. data/test/integration/tests/basic_computer_games/hangman.input +69 -0
  251. data/test/integration/tests/basic_computer_games/hangman.output +889 -0
  252. data/test/integration/tests/basic_computer_games/hello.bas +83 -0
  253. data/test/integration/tests/basic_computer_games/hello.input +7 -0
  254. data/test/integration/tests/basic_computer_games/hello.output +46 -0
  255. data/test/integration/tests/basic_computer_games/hexapawn.bas +174 -0
  256. data/test/integration/tests/basic_computer_games/hexapawn.input +38 -0
  257. data/test/integration/tests/basic_computer_games/hexapawn.output +521 -0
  258. data/test/integration/tests/basic_computer_games/hi-q.bas +135 -0
  259. data/test/integration/tests/basic_computer_games/hi-q.input +14 -0
  260. data/test/integration/tests/basic_computer_games/hi-q.output +115 -0
  261. data/test/integration/tests/basic_computer_games/hilo.bas +29 -0
  262. data/test/integration/tests/basic_computer_games/hilo.input +20 -0
  263. data/test/integration/tests/basic_computer_games/hilo.output +76 -0
  264. data/test/integration/tests/basic_computer_games/hockey.bas +210 -0
  265. data/test/integration/tests/basic_computer_games/hockey.input +59 -0
  266. data/test/integration/tests/basic_computer_games/hockey.output +243 -0
  267. data/test/integration/tests/basic_computer_games/horsrace.bas +130 -0
  268. data/test/integration/tests/basic_computer_games/horsrace.input +11 -0
  269. data/test/integration/tests/basic_computer_games/horsrace.output +517 -0
  270. data/test/integration/tests/basic_computer_games/hurkle.bas +51 -0
  271. data/test/integration/tests/basic_computer_games/hurkle.input +16 -0
  272. data/test/integration/tests/basic_computer_games/hurkle.output +81 -0
  273. data/test/integration/tests/basic_computer_games/kinema.bas +34 -0
  274. data/test/integration/tests/basic_computer_games/kinema.input +9 -0
  275. data/test/integration/tests/basic_computer_games/kinema.output +64 -0
  276. data/test/integration/tests/basic_computer_games/king.bas +268 -0
  277. data/test/integration/tests/basic_computer_games/king.input +7 -0
  278. data/test/integration/tests/basic_computer_games/king.output +57 -0
  279. data/test/integration/tests/basic_computer_games/lem.bas +246 -0
  280. data/test/integration/tests/basic_computer_games/lem.input +4 -0
  281. data/test/integration/tests/basic_computer_games/lem.output +68 -0
  282. data/test/integration/tests/basic_computer_games/letter.bas +26 -0
  283. data/test/integration/tests/basic_computer_games/letter.input +24 -0
  284. data/test/integration/tests/basic_computer_games/letter.output +123 -0
  285. data/test/integration/tests/basic_computer_games/life.bas +66 -0
  286. data/test/integration/tests/basic_computer_games/life.input +4 -0
  287. data/test/integration/tests/basic_computer_games/life.options +1 -0
  288. data/test/integration/tests/basic_computer_games/life.output +200 -0
  289. data/test/integration/tests/basic_computer_games/life2.bas +83 -0
  290. data/test/integration/tests/basic_computer_games/life2.input +17 -0
  291. data/test/integration/tests/basic_computer_games/life2.output +113 -0
  292. data/test/integration/tests/basic_computer_games/litquiz.bas +49 -0
  293. data/test/integration/tests/basic_computer_games/litquiz.input +4 -0
  294. data/test/integration/tests/basic_computer_games/litquiz.output +36 -0
  295. data/test/integration/tests/basic_computer_games/love.bas +34 -0
  296. data/test/integration/tests/basic_computer_games/love.input +1 -0
  297. data/test/integration/tests/basic_computer_games/love.output +67 -0
  298. data/test/integration/tests/basic_computer_games/lunar.bas +48 -0
  299. data/test/integration/tests/basic_computer_games/lunar.input +87 -0
  300. data/test/integration/tests/basic_computer_games/lunar.output +195 -0
  301. data/test/integration/tests/basic_computer_games/mastrmnd.bas +232 -0
  302. data/test/integration/tests/basic_computer_games/mastrmnd.input +18 -0
  303. data/test/integration/tests/basic_computer_games/mastrmnd.output +67 -0
  304. data/test/integration/tests/basic_computer_games/mathdice.bas +60 -0
  305. data/test/integration/tests/basic_computer_games/mathdice.input +4 -0
  306. data/test/integration/tests/basic_computer_games/mathdice.output +86 -0
  307. data/test/integration/tests/basic_computer_games/mugwump.bas +56 -0
  308. data/test/integration/tests/basic_computer_games/mugwump.input +16 -0
  309. data/test/integration/tests/basic_computer_games/mugwump.output +139 -0
  310. data/test/integration/tests/basic_computer_games/name.bas +25 -0
  311. data/test/integration/tests/basic_computer_games/name.input +2 -0
  312. data/test/integration/tests/basic_computer_games/name.output +22 -0
  313. data/test/integration/tests/basic_computer_games/nicoma.bas +34 -0
  314. data/test/integration/tests/basic_computer_games/nicoma.input +8 -0
  315. data/test/integration/tests/basic_computer_games/nicoma.output +36 -0
  316. data/test/integration/tests/basic_computer_games/nim.bas +156 -0
  317. data/test/integration/tests/basic_computer_games/nim.input +8 -0
  318. data/test/integration/tests/basic_computer_games/nim.output +30 -0
  319. data/test/integration/tests/basic_computer_games/number.bas +37 -0
  320. data/test/integration/tests/basic_computer_games/number.input +19 -0
  321. data/test/integration/tests/basic_computer_games/number.output +73 -0
  322. data/test/integration/tests/basic_computer_games/onecheck.bas +86 -0
  323. data/test/integration/tests/basic_computer_games/onecheck.input +6 -0
  324. data/test/integration/tests/basic_computer_games/onecheck.output +77 -0
  325. data/test/integration/tests/basic_computer_games/orbit.bas +96 -0
  326. data/test/integration/tests/basic_computer_games/orbit.input +10 -0
  327. data/test/integration/tests/basic_computer_games/orbit.output +113 -0
  328. data/test/integration/tests/basic_computer_games/pizza.bas +68 -0
  329. data/test/integration/tests/basic_computer_games/pizza.input +10 -0
  330. data/test/integration/tests/basic_computer_games/pizza.output +93 -0
  331. data/test/integration/tests/basic_computer_games/poetry.bas +42 -0
  332. data/test/integration/tests/basic_computer_games/poetry.input +0 -0
  333. data/test/integration/tests/basic_computer_games/poetry.options +1 -0
  334. data/test/integration/tests/basic_computer_games/poetry.output +50 -0
  335. data/test/integration/tests/basic_computer_games/poker.bas +416 -0
  336. data/test/integration/tests/basic_computer_games/poker.input +34 -0
  337. data/test/integration/tests/basic_computer_games/poker.output +197 -0
  338. data/test/integration/tests/basic_computer_games/queen.bas +168 -0
  339. data/test/integration/tests/basic_computer_games/queen.input +10 -0
  340. data/test/integration/tests/basic_computer_games/queen.output +133 -0
  341. data/test/integration/tests/basic_computer_games/reverse.bas +62 -0
  342. data/test/integration/tests/basic_computer_games/reverse.input +12 -0
  343. data/test/integration/tests/basic_computer_games/reverse.output +79 -0
  344. data/test/integration/tests/basic_computer_games/rocket.bas +71 -0
  345. data/test/integration/tests/basic_computer_games/rocket.input +42 -0
  346. data/test/integration/tests/basic_computer_games/rocket.output +149 -0
  347. data/test/integration/tests/basic_computer_games/rocksp.bas +33 -0
  348. data/test/integration/tests/basic_computer_games/rocksp.input +9 -0
  349. data/test/integration/tests/basic_computer_games/rocksp.output +69 -0
  350. data/test/integration/tests/basic_computer_games/roulette.bas +239 -0
  351. data/test/integration/tests/basic_computer_games/roulette.input +9 -0
  352. data/test/integration/tests/basic_computer_games/roulette.output +98 -0
  353. data/test/integration/tests/basic_computer_games/rusrou.bas +26 -0
  354. data/test/integration/tests/basic_computer_games/rusrou.input +9 -0
  355. data/test/integration/tests/basic_computer_games/rusrou.output +50 -0
  356. data/test/integration/tests/basic_computer_games/salvo.bas +329 -0
  357. data/test/integration/tests/basic_computer_games/salvo.input +21 -0
  358. data/test/integration/tests/basic_computer_games/salvo.output +49 -0
  359. data/test/integration/tests/basic_computer_games/sinewave.bas +17 -0
  360. data/test/integration/tests/basic_computer_games/sinewave.input +0 -0
  361. data/test/integration/tests/basic_computer_games/sinewave.output +168 -0
  362. data/test/integration/tests/basic_computer_games/slalom.bas +165 -0
  363. data/test/integration/tests/basic_computer_games/slalom.input +20 -0
  364. data/test/integration/tests/basic_computer_games/slalom.output +122 -0
  365. data/test/integration/tests/basic_computer_games/slots.bas +134 -0
  366. data/test/integration/tests/basic_computer_games/slots.input +2 -0
  367. data/test/integration/tests/basic_computer_games/slots.output +20 -0
  368. data/test/integration/tests/basic_computer_games/splat.bas +128 -0
  369. data/test/integration/tests/basic_computer_games/splat.input +9 -0
  370. data/test/integration/tests/basic_computer_games/splat.output +61 -0
  371. data/test/integration/tests/basic_computer_games/stars.bas +54 -0
  372. data/test/integration/tests/basic_computer_games/stars.input +15 -0
  373. data/test/integration/tests/basic_computer_games/stars.output +70 -0
  374. data/test/integration/tests/basic_computer_games/stock.bas +232 -0
  375. data/test/integration/tests/basic_computer_games/stock.input +30 -0
  376. data/test/integration/tests/basic_computer_games/stock.output +156 -0
  377. data/test/integration/tests/basic_computer_games/superstartrek.bas +425 -0
  378. data/test/integration/tests/basic_computer_games/superstartrek.input +21 -0
  379. data/test/integration/tests/basic_computer_games/superstartrek.output +151 -0
  380. data/test/integration/tests/basic_computer_games/superstartrekins.bas +127 -0
  381. data/test/integration/tests/basic_computer_games/superstartrekins.input +1 -0
  382. data/test/integration/tests/basic_computer_games/superstartrekins.output +134 -0
  383. data/test/integration/tests/basic_computer_games/synonym.bas +53 -0
  384. data/test/integration/tests/basic_computer_games/synonym.input +13 -0
  385. data/test/integration/tests/basic_computer_games/synonym.output +57 -0
  386. data/test/integration/tests/basic_computer_games/target.bas +51 -0
  387. data/test/integration/tests/basic_computer_games/target.input +2 -0
  388. data/test/integration/tests/basic_computer_games/target.output +39 -0
  389. data/test/integration/tests/basic_computer_games/tictac1.bas +69 -0
  390. data/test/integration/tests/basic_computer_games/tictac1.input +10 -0
  391. data/test/integration/tests/basic_computer_games/tictac1.output +49 -0
  392. data/test/integration/tests/basic_computer_games/tictac2.bas +114 -0
  393. data/test/integration/tests/basic_computer_games/tictac2.input +6 -0
  394. data/test/integration/tests/basic_computer_games/tictac2.output +104 -0
  395. data/test/integration/tests/basic_computer_games/towers.bas +125 -0
  396. data/test/integration/tests/basic_computer_games/towers.input +9 -0
  397. data/test/integration/tests/basic_computer_games/towers.output +70 -0
  398. data/test/integration/tests/basic_computer_games/train.bas +24 -0
  399. data/test/integration/tests/basic_computer_games/train.input +4 -0
  400. data/test/integration/tests/basic_computer_games/train.output +23 -0
  401. data/test/integration/tests/basic_computer_games/trap.bas +49 -0
  402. data/test/integration/tests/basic_computer_games/trap.input +7 -0
  403. data/test/integration/tests/basic_computer_games/trap.output +40 -0
  404. data/test/integration/tests/basic_computer_games/war.bas +68 -0
  405. data/test/integration/tests/basic_computer_games/war.input +11 -0
  406. data/test/integration/tests/basic_computer_games/war.output +54 -0
  407. data/test/integration/tests/basic_computer_games/weekday.bas +150 -0
  408. data/test/integration/tests/basic_computer_games/weekday.input +2 -0
  409. data/test/integration/tests/basic_computer_games/weekday.output +28 -0
  410. data/test/integration/tests/basic_computer_games/word.bas +65 -0
  411. data/test/integration/tests/basic_computer_games/word.input +6 -0
  412. data/test/integration/tests/basic_computer_games/word.output +0 -0
  413. data/test/integration/tests/fast/abs.bas +5 -0
  414. data/test/integration/tests/fast/abs.input +0 -0
  415. data/test/integration/tests/fast/abs.output +5 -0
  416. data/test/integration/tests/fast/add.bas +5 -0
  417. data/test/integration/tests/fast/add.input +0 -0
  418. data/test/integration/tests/fast/add.output +5 -0
  419. data/test/integration/tests/fast/and.bas +5 -0
  420. data/test/integration/tests/fast/and.input +0 -0
  421. data/test/integration/tests/fast/and.output +5 -0
  422. data/test/integration/tests/fast/array.bas +11 -0
  423. data/test/integration/tests/fast/array.input +0 -0
  424. data/test/integration/tests/fast/array.output +6 -0
  425. data/test/integration/tests/fast/asc.bas +1 -0
  426. data/test/integration/tests/fast/asc.input +0 -0
  427. data/test/integration/tests/fast/asc.output +1 -0
  428. data/test/integration/tests/fast/chr.bas +1 -0
  429. data/test/integration/tests/fast/chr.input +0 -0
  430. data/test/integration/tests/fast/chr.output +1 -0
  431. data/test/integration/tests/fast/cos.bas +1 -0
  432. data/test/integration/tests/fast/cos.input +0 -0
  433. data/test/integration/tests/fast/cos.output +1 -0
  434. data/test/integration/tests/fast/def_fn.bas +9 -0
  435. data/test/integration/tests/fast/def_fn.input +0 -0
  436. data/test/integration/tests/fast/def_fn.output +5 -0
  437. data/test/integration/tests/fast/divide.bas +5 -0
  438. data/test/integration/tests/fast/divide.input +0 -0
  439. data/test/integration/tests/fast/divide.output +5 -0
  440. data/test/integration/tests/fast/end.bas +3 -0
  441. data/test/integration/tests/fast/end.input +0 -0
  442. data/test/integration/tests/fast/end.output +1 -0
  443. data/test/integration/tests/fast/eq.bas +3 -0
  444. data/test/integration/tests/fast/eq.input +0 -0
  445. data/test/integration/tests/fast/eq.output +3 -0
  446. data/test/integration/tests/fast/exp.bas +2 -0
  447. data/test/integration/tests/fast/exp.input +0 -0
  448. data/test/integration/tests/fast/exp.output +2 -0
  449. data/test/integration/tests/fast/float.bas +3 -0
  450. data/test/integration/tests/fast/float.input +0 -0
  451. data/test/integration/tests/fast/float.output +2 -0
  452. data/test/integration/tests/fast/for_next.bas +61 -0
  453. data/test/integration/tests/fast/for_next.input +0 -0
  454. data/test/integration/tests/fast/for_next.output +46 -0
  455. data/test/integration/tests/fast/ge.bas +3 -0
  456. data/test/integration/tests/fast/ge.input +0 -0
  457. data/test/integration/tests/fast/ge.output +3 -0
  458. data/test/integration/tests/fast/gosub_return.bas +10 -0
  459. data/test/integration/tests/fast/gosub_return.input +0 -0
  460. data/test/integration/tests/fast/gosub_return.output +4 -0
  461. data/test/integration/tests/fast/goto.bas +3 -0
  462. data/test/integration/tests/fast/goto.input +0 -0
  463. data/test/integration/tests/fast/goto.output +1 -0
  464. data/test/integration/tests/fast/gt.bas +3 -0
  465. data/test/integration/tests/fast/gt.input +0 -0
  466. data/test/integration/tests/fast/gt.output +3 -0
  467. data/test/integration/tests/fast/if.bas +25 -0
  468. data/test/integration/tests/fast/if.input +0 -0
  469. data/test/integration/tests/fast/if.output +8 -0
  470. data/test/integration/tests/fast/input.bas +24 -0
  471. data/test/integration/tests/fast/input.input +10 -0
  472. data/test/integration/tests/fast/input.output +28 -0
  473. data/test/integration/tests/fast/int.bas +5 -0
  474. data/test/integration/tests/fast/int.input +0 -0
  475. data/test/integration/tests/fast/int.output +5 -0
  476. data/test/integration/tests/fast/integer_plus_string.bas +1 -0
  477. data/test/integration/tests/fast/integer_plus_string.input +0 -0
  478. data/test/integration/tests/fast/integer_plus_string.output +1 -0
  479. data/test/integration/tests/fast/invalid_argument.bas +1 -0
  480. data/test/integration/tests/fast/invalid_argument.input +0 -0
  481. data/test/integration/tests/fast/invalid_argument.output +1 -0
  482. data/test/integration/tests/fast/le.bas +3 -0
  483. data/test/integration/tests/fast/le.input +0 -0
  484. data/test/integration/tests/fast/le.output +3 -0
  485. data/test/integration/tests/fast/left.bas +1 -0
  486. data/test/integration/tests/fast/left.input +0 -0
  487. data/test/integration/tests/fast/left.output +1 -0
  488. data/test/integration/tests/fast/len.bas +2 -0
  489. data/test/integration/tests/fast/len.input +0 -0
  490. data/test/integration/tests/fast/len.output +2 -0
  491. data/test/integration/tests/fast/let.bas +6 -0
  492. data/test/integration/tests/fast/let.input +0 -0
  493. data/test/integration/tests/fast/let.output +4 -0
  494. data/test/integration/tests/fast/log.bas +1 -0
  495. data/test/integration/tests/fast/log.input +0 -0
  496. data/test/integration/tests/fast/log.output +1 -0
  497. data/test/integration/tests/fast/lt.bas +3 -0
  498. data/test/integration/tests/fast/lt.input +0 -0
  499. data/test/integration/tests/fast/lt.output +3 -0
  500. data/test/integration/tests/fast/math.output +0 -0
  501. data/test/integration/tests/fast/mid.bas +2 -0
  502. data/test/integration/tests/fast/mid.input +0 -0
  503. data/test/integration/tests/fast/mid.output +2 -0
  504. data/test/integration/tests/fast/multiply.bas +5 -0
  505. data/test/integration/tests/fast/multiply.input +0 -0
  506. data/test/integration/tests/fast/multiply.output +5 -0
  507. data/test/integration/tests/fast/ne.bas +3 -0
  508. data/test/integration/tests/fast/ne.input +0 -0
  509. data/test/integration/tests/fast/ne.output +3 -0
  510. data/test/integration/tests/fast/negate.bas +4 -0
  511. data/test/integration/tests/fast/negate.input +0 -0
  512. data/test/integration/tests/fast/negate.output +3 -0
  513. data/test/integration/tests/fast/not.bas +4 -0
  514. data/test/integration/tests/fast/not.input +0 -0
  515. data/test/integration/tests/fast/not.output +4 -0
  516. data/test/integration/tests/fast/on_goto.bas +6 -0
  517. data/test/integration/tests/fast/on_goto.input +0 -0
  518. data/test/integration/tests/fast/on_goto.output +2 -0
  519. data/test/integration/tests/fast/or.bas +5 -0
  520. data/test/integration/tests/fast/or.input +0 -0
  521. data/test/integration/tests/fast/or.output +5 -0
  522. data/test/integration/tests/fast/parentheses.bas +1 -0
  523. data/test/integration/tests/fast/parentheses.input +0 -0
  524. data/test/integration/tests/fast/parentheses.output +1 -0
  525. data/test/integration/tests/fast/power.bas +4 -0
  526. data/test/integration/tests/fast/power.input +0 -0
  527. data/test/integration/tests/fast/power.output +4 -0
  528. data/test/integration/tests/fast/print.bas +6 -0
  529. data/test/integration/tests/fast/print.input +0 -0
  530. data/test/integration/tests/fast/print.output +4 -0
  531. data/test/integration/tests/fast/read_data.bas +15 -0
  532. data/test/integration/tests/fast/read_data.input +0 -0
  533. data/test/integration/tests/fast/read_data.output +4 -0
  534. data/test/integration/tests/fast/rem.bas +1 -0
  535. data/test/integration/tests/fast/rem.input +0 -0
  536. data/test/integration/tests/fast/rem.output +0 -0
  537. data/test/integration/tests/fast/right.bas +1 -0
  538. data/test/integration/tests/fast/right.input +0 -0
  539. data/test/integration/tests/fast/right.output +1 -0
  540. data/test/integration/tests/fast/rnd.bas +5 -0
  541. data/test/integration/tests/fast/rnd.input +0 -0
  542. data/test/integration/tests/fast/rnd.output +5 -0
  543. data/test/integration/tests/fast/sgn.bas +5 -0
  544. data/test/integration/tests/fast/sgn.input +0 -0
  545. data/test/integration/tests/fast/sgn.output +5 -0
  546. data/test/integration/tests/fast/sin.bas +1 -0
  547. data/test/integration/tests/fast/sin.input +0 -0
  548. data/test/integration/tests/fast/sin.output +1 -0
  549. data/test/integration/tests/fast/sqr.bas +2 -0
  550. data/test/integration/tests/fast/sqr.input +0 -0
  551. data/test/integration/tests/fast/sqr.output +2 -0
  552. data/test/integration/tests/fast/stop.bas +3 -0
  553. data/test/integration/tests/fast/stop.input +0 -0
  554. data/test/integration/tests/fast/stop.output +2 -0
  555. data/test/integration/tests/fast/str.bas +3 -0
  556. data/test/integration/tests/fast/str.input +0 -0
  557. data/test/integration/tests/fast/str.output +3 -0
  558. data/test/integration/tests/fast/string_addition.bas +1 -0
  559. data/test/integration/tests/fast/string_addition.input +0 -0
  560. data/test/integration/tests/fast/string_addition.output +1 -0
  561. data/test/integration/tests/fast/string_comparisons.bas +7 -0
  562. data/test/integration/tests/fast/string_comparisons.input +0 -0
  563. data/test/integration/tests/fast/string_comparisons.output +4 -0
  564. data/test/integration/tests/fast/string_plus_integer.bas +1 -0
  565. data/test/integration/tests/fast/string_plus_integer.input +0 -0
  566. data/test/integration/tests/fast/string_plus_integer.output +1 -0
  567. data/test/integration/tests/fast/subtract.bas +5 -0
  568. data/test/integration/tests/fast/subtract.input +0 -0
  569. data/test/integration/tests/fast/subtract.output +5 -0
  570. data/test/integration/tests/fast/tab.bas +4 -0
  571. data/test/integration/tests/fast/tab.input +0 -0
  572. data/test/integration/tests/fast/tab.output +3 -0
  573. data/test/integration/tests/fast/tan.bas +1 -0
  574. data/test/integration/tests/fast/tan.input +0 -0
  575. data/test/integration/tests/fast/tan.output +1 -0
  576. data/test/integration/tests/fast/val.bas +3 -0
  577. data/test/integration/tests/fast/val.input +0 -0
  578. data/test/integration/tests/fast/val.output +3 -0
  579. data/test/spec/argument_checker_spec.rb +128 -0
  580. data/test/spec/basic_array_spec.rb +100 -0
  581. data/test/spec/basic_float_spec.rb +168 -0
  582. data/test/spec/basic_integer_spec.rb +270 -0
  583. data/test/spec/basic_numeric_spec.rb +16 -0
  584. data/test/spec/basic_object_spec.rb +22 -0
  585. data/test/spec/basic_string_spec.rb +259 -0
  586. data/test/spec/for_stack_spec.rb +70 -0
  587. data/test/spec/input_reader_spec.rb +143 -0
  588. data/test/spec/input_spec.rb +102 -0
  589. data/test/spec/line_spec.rb +18 -0
  590. data/test/spec/output_spec.rb +153 -0
  591. data/test/spec/parser_spec.rb +562 -0
  592. data/test/spec/program_spec.rb +45 -0
  593. data/test/spec/spec_helper.rb +15 -0
  594. data/test/spec/support/basic_numeric_helpers.rb +327 -0
  595. data/test/spec/support/basic_object_helpers.rb +22 -0
  596. data/test/spec/transcript_spec.rb +37 -0
  597. data/test/spec/transform_spec.rb +513 -0
  598. metadata +742 -0
@@ -0,0 +1,133 @@
1
+ FUR TRADER
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ YOU ARE THE LEADER OF A FRENCH FUR TRADING EXPEDITION IN
7
+ 1776 LEAVING THE LAKE ONTARIO AREA TO SELL FURS AND GET
8
+ SUPPLIES FOR THE NEXT YEAR. YOU HAVE A CHOICE OF THREE
9
+ FORTS AT WHICH YOU MAY TRADE. THE COST OF SUPPLIES
10
+ AND THE AMOUNT YOU RECEIVE FOR YOUR FURS WILL DEPEND
11
+ ON THE FORT THAT YOU CHOOSE.
12
+ DO YOU WISH TO TRADE FURS?
13
+ ANSWER YES OR NO ? YES
14
+
15
+ YOU HAVE $ 600 SAVINGS.
16
+ AND 190 FURS TO BEGIN THE EXPEDITION.
17
+
18
+ YOUR 190 FURS ARE DISTRIBUTED AMONG THE FOLLOWING
19
+ KINDS OF PELTS: MINK, BEAVER, ERMINE AND FOX.
20
+
21
+ HOW MANY MINK PELTS DO YOU HAVE? 60
22
+
23
+ HOW MANY BEAVER PELTS DO YOU HAVE? 60
24
+
25
+ HOW MANY ERMINE PELTS DO YOU HAVE? 70
26
+ YOU MAY TRADE YOUR FURS AT FORT 1, FORT 2,
27
+ OR FORT 3. FORT 1 IS FORT HOCHELAGA (MONTREAL)
28
+ AND IS UNDER THE PROTECTION OF THE FRENCH ARMY.
29
+ FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE
30
+ PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST
31
+ MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS.
32
+ FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL.
33
+ YOU MUST CROSS THROUGH IROQUOIS LAND.
34
+ ANSWER 1, 2, OR 3.
35
+ ? 1
36
+ YOU HAVE CHOSEN THE EASIEST ROUTE. HOWEVER, THE FORT
37
+ IS FAR FROM ANY SEAPORT. THE VALUE
38
+ YOU RECEIVE FOR YOUR FURS WILL BE LOW AND THE COST
39
+ OF SUPPLIES HIGHER THAN AT FORTS STADACONA OR NEW YORK.
40
+ DO YOU WANT TO TRADE AT ANOTHER FORT?
41
+ ANSWER YES OR NO ? NO
42
+
43
+ SUPPLIES AT FORT HOCHELAGA COST $150.00.
44
+ YOUR TRAVEL EXPENSES TO HOCHELAGA WERE $10.00.
45
+
46
+ YOUR BEAVER SOLD FOR $ 49.8 YOUR FOX SOLD FOR $ 0
47
+ YOUR ERMINE SOLD FOR $ 53.2 YOUR MINK SOLD FOR $ 49.2
48
+
49
+ YOU NOW HAVE $ 592.2 INCLUDING YOUR PREVIOUS SAVINGS
50
+
51
+ DO YOU WANT TO TRADE FURS NEXT YEAR?
52
+ ANSWER YES OR NO ? YES
53
+
54
+ YOU HAVE $ 592.2 SAVINGS.
55
+ AND 190 FURS TO BEGIN THE EXPEDITION.
56
+
57
+ YOUR 190 FURS ARE DISTRIBUTED AMONG THE FOLLOWING
58
+ KINDS OF PELTS: MINK, BEAVER, ERMINE AND FOX.
59
+
60
+ HOW MANY MINK PELTS DO YOU HAVE? 70
61
+
62
+ HOW MANY BEAVER PELTS DO YOU HAVE? 60
63
+
64
+ HOW MANY ERMINE PELTS DO YOU HAVE? 60
65
+ YOU MAY TRADE YOUR FURS AT FORT 1, FORT 2,
66
+ OR FORT 3. FORT 1 IS FORT HOCHELAGA (MONTREAL)
67
+ AND IS UNDER THE PROTECTION OF THE FRENCH ARMY.
68
+ FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE
69
+ PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST
70
+ MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS.
71
+ FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL.
72
+ YOU MUST CROSS THROUGH IROQUOIS LAND.
73
+ ANSWER 1, 2, OR 3.
74
+ ? 2
75
+ YOU HAVE CHOSEN A HARD ROUTE. IT IS, IN COMPARSION,
76
+ HARDER THAN THE ROUTE TO HOCHELAGA BUT EASIER THAN
77
+ THE ROUTE TO NEW YORK. YOU WILL RECEIVE AN AVERAGE VALUE
78
+ FOR YOUR FURS AND THE COST OF YOUR SUPPLIES WILL BE AVERAGE.
79
+ DO YOU WANT TO TRADE AT ANOTHER FORT?
80
+ ANSWER YES OR NO ? NO
81
+
82
+ YOU ARRIVED SAFELY AT FORT STADACONA.
83
+ SUPPLIES AT FORT STADACONA COST $125.00.
84
+ YOUR TRAVEL EXPENSES TO STADACONA WERE $15.00.
85
+
86
+ YOUR BEAVER SOLD FOR $ 63.6 YOUR FOX SOLD FOR $ 0
87
+ YOUR ERMINE SOLD FOR $ 51.6 YOUR MINK SOLD FOR $ 79.8
88
+
89
+ YOU NOW HAVE $ 647.2 INCLUDING YOUR PREVIOUS SAVINGS
90
+
91
+ DO YOU WANT TO TRADE FURS NEXT YEAR?
92
+ ANSWER YES OR NO ? YES
93
+
94
+ YOU HAVE $ 647.2 SAVINGS.
95
+ AND 190 FURS TO BEGIN THE EXPEDITION.
96
+
97
+ YOUR 190 FURS ARE DISTRIBUTED AMONG THE FOLLOWING
98
+ KINDS OF PELTS: MINK, BEAVER, ERMINE AND FOX.
99
+
100
+ HOW MANY MINK PELTS DO YOU HAVE? 60
101
+
102
+ HOW MANY BEAVER PELTS DO YOU HAVE? 70
103
+
104
+ HOW MANY ERMINE PELTS DO YOU HAVE? 60
105
+ YOU MAY TRADE YOUR FURS AT FORT 1, FORT 2,
106
+ OR FORT 3. FORT 1 IS FORT HOCHELAGA (MONTREAL)
107
+ AND IS UNDER THE PROTECTION OF THE FRENCH ARMY.
108
+ FORT 2 IS FORT STADACONA (QUEBEC) AND IS UNDER THE
109
+ PROTECTION OF THE FRENCH ARMY. HOWEVER, YOU MUST
110
+ MAKE A PORTAGE AND CROSS THE LACHINE RAPIDS.
111
+ FORT 3 IS FORT NEW YORK AND IS UNDER DUTCH CONTROL.
112
+ YOU MUST CROSS THROUGH IROQUOIS LAND.
113
+ ANSWER 1, 2, OR 3.
114
+ ? 3
115
+ YOU HAVE CHOSEN THE MOST DIFFICULT ROUTE. AT
116
+ FORT NEW YORK YOU WILL RECEIVE THE HIGHEST VALUE
117
+ FOR YOUR FURS. THE COST OF YOUR SUPPLIES
118
+ WILL BE LOWER THAN AT ALL THE OTHER FORTS.
119
+ DO YOU WANT TO TRADE AT ANOTHER FORT?
120
+ ANSWER YES OR NO ? YES
121
+ ANSWER 1, 2, OR 3.
122
+ ? 3
123
+ YOU HAVE CHOSEN THE MOST DIFFICULT ROUTE. AT
124
+ FORT NEW YORK YOU WILL RECEIVE THE HIGHEST VALUE
125
+ FOR YOUR FURS. THE COST OF YOUR SUPPLIES
126
+ WILL BE LOWER THAN AT ALL THE OTHER FORTS.
127
+ DO YOU WANT TO TRADE AT ANOTHER FORT?
128
+ ANSWER YES OR NO ? NO
129
+
130
+ YOU WERE ATTACKED BY A PARTY OF IROQUOIS.
131
+ ALL PEOPLE IN YOUR TRADING GROUP WERE
132
+ KILLED. THIS ENDS THE GAME.
133
+ Break in line 1284
@@ -0,0 +1,244 @@
1
+ 1 PRINT TAB(34);"GOLF"
2
+ 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 3 PRINT:PRINT:PRINT
4
+ 4 PRINT "WELCOME TO THE CREATIVE COMPUTING COUNTRY CLUB,"
5
+ 5 PRINT "AN EIGHTEEN HOLE CHAMPIONSHIP LAYOUT LOCATED A SHORT"
6
+ 6 PRINT "DISTANCE FROM SCENIC DOWNTOWN MORRISTOWN. THE"
7
+ 7 PRINT "COMMENTATOR WILL EXPLAIN THE GAME AS YOU PLAY."
8
+ 8 PRINT "ENJOY YOUR GAME; SEE YOU AT THE 19TH HOLE..."
9
+ 9 PRINT:PRINT: DIM L(10)
10
+ 10 G1=18
11
+ 20 G2=0
12
+ 30 G3=0
13
+ 40 A=0
14
+ 50 N=.8
15
+ 60 S2=0
16
+ 70 F=1
17
+ 80 PRINT "WHAT IS YOUR HANDICAP";
18
+ 90 INPUT H:PRINT
19
+ 100 IF H>30 THEN 470
20
+ 110 IF H<0 THEN 470
21
+ 120 PRINT "DIFFICULTIES AT GOLF INCLUDE:"
22
+ 130 PRINT "0=HOOK, 1=SLICE, 2=POOR DISTANCE, 4=TRAP SHOTS, 5=PUTTING"
23
+ 140 PRINT "WHICH ONE (ONLY ONE) IS YOUR WORST";
24
+ 150 INPUT T:PRINT
25
+ 160 IF T>5 THEN 120
26
+ 170 S1=0
27
+ 210 REM
28
+ 230 L(0)=0
29
+ 240 J=0
30
+ 245 Q=0
31
+ 250 S2=S2+1
32
+ 260 K=0
33
+ 270 IF F=1 THEN 310
34
+ 290 PRINT "YOUR SCORE ON HOLE";F-1;"WAS";S1
35
+ 291 GOTO 1750
36
+ 292 IF S1>P+2 THEN 297
37
+ 293 IF S1=P THEN 299
38
+ 294 IF S1=P-1 THEN 301
39
+ 295 IF S1=P-2 THEN 303
40
+ 296 GOTO 310
41
+ 297 PRINT "KEEP YOUR HEAD DOWN."
42
+ 298 GOTO 310
43
+ 299 PRINT "A PAR. NICE GOING."
44
+ 300 GOTO 310
45
+ 301 PRINT "A BIRDIE."
46
+ 302 GOTO 310
47
+ 303 IF P=3 THEN 306
48
+ 304 PRINT "A GREAT BIG EAGLE."
49
+ 305 GOTO 310
50
+ 306 PRINT "A HOLE IN ONE."
51
+ 310 IF F=19 THEN 1710
52
+ 315 S1=0
53
+ 316 PRINT
54
+ 320 IF S1=0 THEN 1590
55
+ 330 IF L(0)<1 THEN 1150
56
+ 340 X=0
57
+ 350 IF L(0)>5 THEN 1190
58
+ 360 PRINT "SHOT WENT";D1;"YARDS. IT'S";D2;"YARDS FROM THE CUP."
59
+ 362 PRINT "BALL IS";INT(O);"YARDS OFF LINE... IN ";
60
+ 380 GOSUB 400
61
+ 390 GOTO 620
62
+ 400 IF L(X)=1 THEN 480
63
+ 410 IF L(X)=2 THEN 500
64
+ 420 IF L(X)=3 THEN 520
65
+ 430 IF L(X)=4 THEN 540
66
+ 440 IF L(X)=5 THEN 560
67
+ 450 IF L(X)=6 THEN 580
68
+ 460 PRINT "OUT OF BOUNDS."
69
+ 465 GOTO 1690
70
+ 470 PRINT "PGA HANDICAPS RANGE FROM 0 TO 30."
71
+ 472 GOTO 80
72
+ 480 PRINT "FAIRWAY."
73
+ 490 GOTO 1690
74
+ 500 PRINT "ROUGH."
75
+ 510 GOTO 1690
76
+ 520 PRINT "TREES."
77
+ 530 GOTO 1690
78
+ 540 PRINT "ADJACENT FAIRWAY."
79
+ 550 GOTO 1690
80
+ 560 PRINT "TRAP."
81
+ 570 GOTO 1690
82
+ 580 PRINT "WATER."
83
+ 590 GOTO 1690
84
+ 620 IF A=1 THEN 629
85
+ 621 PRINT "SELECTION OF CLUBS"
86
+ 622 PRINT "YARDAGE DESIRED SUGGESTED CLUBS"
87
+ 623 PRINT "200 TO 280 YARDS 1 TO 4"
88
+ 624 PRINT "100 TO 200 YARDS 19 TO 13"
89
+ 625 PRINT " 0 TO 100 YARDS 29 TO 23"
90
+ 626 A=1
91
+ 629 PRINT "WHAT CLUB DO YOU CHOOSE";
92
+ 630 INPUT C
93
+ 632 PRINT
94
+ 635 IF C<1 THEN 690
95
+ 637 IF C>29 THEN 690
96
+ 640 IF C>4 THEN 710
97
+ 650 IF L(0)<=5 THEN 740
98
+ 660 IF C=14 THEN 740
99
+ 665 IF C=23 THEN 740
100
+ 670 GOTO 690
101
+ 680 S1=S1-1
102
+ 690 PRINT "THAT CLUB IS NOT IN THE BAG."
103
+ 693 PRINT
104
+ 700 GOTO 620
105
+ 710 IF C<12 THEN 690
106
+ 720 C=C-6
107
+ 730 GOTO 650
108
+ 740 S1=S1+1
109
+ 741 W=1
110
+ 742 IF C>13 THEN 960
111
+ 746 IF INT(F/3)=F/3 THEN 952
112
+ 752 IF C<4 THEN 756
113
+ 754 GOTO 760
114
+ 756 IF L(0)=2 THEN 862
115
+ 760 IF S1>7 THEN 867
116
+ 770 D1=INT(((30-H)*2.5+187-((30-H)*.25+15)*C/2)+25*RND(1))
117
+ 780 D1=INT(D1*W)
118
+ 800 IF T=2 THEN 1170
119
+ 830 O=(RND(1)/.8)*(2*H+16)*ABS(TAN(D1*.0035))
120
+ 840 D2=INT(SQR(O^2+ABS(D-D1)^2))
121
+ 850 IF D-D1<0 THEN 870
122
+ 860 GOTO 890
123
+ 862 PRINT "YOU DUBBED IT."
124
+ 864 D1=35
125
+ 866 GOTO 830
126
+ 867 IF D<200 THEN 1300
127
+ 868 GOTO 770
128
+ 870 IF D2<20 THEN 890
129
+ 880 PRINT "TOO MUCH CLUB. YOU'RE PAST THE HOLE."
130
+ 890 B=D
131
+ 900 D=D2
132
+ 910 IF D2>27 THEN 1020
133
+ 920 IF D2>20 THEN 1100
134
+ 930 IF D2>.5 THEN 1120
135
+ 940 L(0)=9
136
+ 950 GOTO 1470
137
+ 952 IF S2+Q+(10*(F-1)/18)<(F-1)*(72+((H+1)/.85))/18 THEN 956
138
+ 954 GOTO 752
139
+ 956 Q=Q+1
140
+ 957 IF S1/2<>INT(S1/2) THEN 1011
141
+ 958 GOTO 862
142
+ 960 PRINT "NOW GAUGE YOUR DISTANCE BY A PERCENTAGE (1 TO 100)"
143
+ 961 PRINT "OF A FULL SWING";
144
+ 970 INPUT W: W=W/100
145
+ 972 PRINT
146
+ 980 IF W>1 THEN 680
147
+ 985 IF L(0)=5 THEN 1280
148
+ 990 IF C=14 THEN 760
149
+ 1000 C=C-10
150
+ 1010 GOTO 760
151
+ 1011 IF D<95 THEN 862
152
+ 1012 PRINT "BALL HIT TREE - BOUNCED INTO ROUGH";D-75;"YARDS FROM HOLE."
153
+ 1014 D=D-75
154
+ 1018 GOTO 620
155
+ 1020 IF O<30 THEN 1150
156
+ 1022 IF J>0 THEN 1150
157
+ 1030 IF T>0 THEN 1070
158
+ 1035 S9=(S2+1)/15
159
+ 1036 IF INT(S9)=S9 THEN 1075
160
+ 1040 PRINT "YOU HOOKED- ";
161
+ 1050 L(0)=L(2)
162
+ 1055 IF O>45 THEN 1092
163
+ 1060 GOTO 320
164
+ 1070 S9=(S2+1)/15
165
+ 1071 IF INT(S9)=S9 THEN 1040
166
+ 1075 PRINT "YOU SLICED- ";
167
+ 1080 L(0)=L(1)
168
+ 1090 GOTO 1055
169
+ 1092 PRINT "BADLY."
170
+ 1094 GOTO 320
171
+ 1100 L(0)=5
172
+ 1110 GOTO 320
173
+ 1120 L(0)=8
174
+ 1130 D2=INT(D2*3)
175
+ 1140 GOTO 1380
176
+ 1150 L(0)=1
177
+ 1160 GOTO 320
178
+ 1170 D1=INT(.85*D1)
179
+ 1180 GOTO 830
180
+ 1190 IF L(0)>6 THEN 1260
181
+ 1200 PRINT "YOUR SHOT WENT INTO THE WATER."
182
+ 1210 S1=S1+1
183
+ 1220 PRINT "PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION."
184
+ 1230 J=J+1
185
+ 1240 L(0)=1
186
+ 1242 D=B
187
+ 1250 GOTO 620
188
+ 1260 PRINT "YOUR SHOT WENT OUT OF BOUNDS."
189
+ 1270 GOTO 1210
190
+ 1280 IF T=3 THEN 1320
191
+ 1300 D2=1+(3*INT((80/(40-H))*RND(1)))
192
+ 1310 GOTO 1380
193
+ 1320 IF RND(1)>N THEN 1360
194
+ 1330 N=N*.2
195
+ 1340 PRINT "SHOT DUBBED, STILL IN TRAP."
196
+ 1350 GOTO 620
197
+ 1360 N=.8
198
+ 1370 GOTO 1300
199
+ 1380 PRINT "ON GREEN,";D2;"FEET FROM THE PIN."
200
+ 1381 PRINT "CHOOSE YOUR PUTT POTENCY (1 TO 13):";
201
+ 1400 INPUT I
202
+ 1410 S1=S1+1
203
+ 1420 IF S1+1-P>(H*.072)+2 THEN 1470
204
+ 1425 IF K>2 THEN 1470
205
+ 1428 K=K+1
206
+ 1430 IF T=4 THEN 1530
207
+ 1440 D2=D2-I*(4+2*RND(1))+1.5
208
+ 1450 IF D2<-2 THEN 1560
209
+ 1460 IF D2>2 THEN 1500
210
+ 1470 PRINT "YOU HOLED IT."
211
+ 1472 PRINT
212
+ 1480 F=F+1
213
+ 1490 GOTO 230
214
+ 1500 PRINT "PUTT SHORT."
215
+ 1505 D2=INT(D2)
216
+ 1510 GOTO 1380
217
+ 1530 D2=D2-I*(4+1*RND(1))+1
218
+ 1550 GOTO 1450
219
+ 1560 PRINT "PASSED BY CUP."
220
+ 1570 D2=-D2
221
+ 1580 GOTO 1505
222
+ 1590 READ D,P,L(1),L(2)
223
+ 1595 PRINT
224
+ 1600 PRINT "YOU ARE AT THE TEE OFF HOLE";F;"DISTANCE";D;"YARDS, PAR";P
225
+ 1605 G3=G3+P
226
+ 1620 PRINT "ON YOUR RIGHT IS ";
227
+ 1630 X=1
228
+ 1640 GOSUB 400
229
+ 1650 PRINT "ON YOUR LEFT IS ";
230
+ 1660 X=2
231
+ 1670 GOSUB 400
232
+ 1680 GOTO 620
233
+ 1690 RETURN
234
+ 1700 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2
235
+ 1702 DATA 408,4,2,4,359,4,6,4,424,4,4,2,388,4,4,4
236
+ 1704 DATA 196,3,7,2,400,4,7,2,560,5,7,2,132,3,2,2
237
+ 1706 DATA 357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2
238
+ 1708 DATA 180,3,6,2,550,5,6,6
239
+ 1710 PRINT
240
+ 1750 G2=G2+S1
241
+ 1760 PRINT "TOTAL PAR FOR";F-1;"HOLES IS";G3;" YOUR TOTAL IS";G2
242
+ 1761 IF G1=F-1 THEN 1770
243
+ 1765 GOTO 292
244
+ 1770 END
@@ -0,0 +1,11 @@
1
+ 0
2
+ 5
3
+ 1
4
+ 25
5
+ 80
6
+ 29
7
+ 50
8
+ 29
9
+ 20
10
+ 1
11
+ 1
@@ -0,0 +1,69 @@
1
+ GOLF
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ WELCOME TO THE CREATIVE COMPUTING COUNTRY CLUB,
7
+ AN EIGHTEEN HOLE CHAMPIONSHIP LAYOUT LOCATED A SHORT
8
+ DISTANCE FROM SCENIC DOWNTOWN MORRISTOWN. THE
9
+ COMMENTATOR WILL EXPLAIN THE GAME AS YOU PLAY.
10
+ ENJOY YOUR GAME; SEE YOU AT THE 19TH HOLE...
11
+
12
+
13
+ WHAT IS YOUR HANDICAP? 0
14
+
15
+ DIFFICULTIES AT GOLF INCLUDE:
16
+ 0=HOOK, 1=SLICE, 2=POOR DISTANCE, 4=TRAP SHOTS, 5=PUTTING
17
+ WHICH ONE (ONLY ONE) IS YOUR WORST? 5
18
+
19
+
20
+
21
+ YOU ARE AT THE TEE OFF HOLE 1 DISTANCE 361 YARDS, PAR 4
22
+ ON YOUR RIGHT IS ADJACENT FAIRWAY.
23
+ ON YOUR LEFT IS ROUGH.
24
+ SELECTION OF CLUBS
25
+ YARDAGE DESIRED SUGGESTED CLUBS
26
+ 200 TO 280 YARDS 1 TO 4
27
+ 100 TO 200 YARDS 19 TO 13
28
+ 0 TO 100 YARDS 29 TO 23
29
+ WHAT CLUB DO YOU CHOOSE? 1
30
+
31
+ SHOT WENT 264 YARDS. IT'S 98 YARDS FROM THE CUP.
32
+ BALL IS 18 YARDS OFF LINE... IN FAIRWAY.
33
+ WHAT CLUB DO YOU CHOOSE? 25
34
+
35
+ NOW GAUGE YOUR DISTANCE BY A PERCENTAGE (1 TO 100)
36
+ OF A FULL SWING? 80
37
+
38
+ TOO MUCH CLUB. YOU'RE PAST THE HOLE.
39
+ SHOT WENT 140 YARDS. IT'S 42 YARDS FROM THE CUP.
40
+ BALL IS 5 YARDS OFF LINE... IN FAIRWAY.
41
+ WHAT CLUB DO YOU CHOOSE? 29
42
+
43
+ NOW GAUGE YOUR DISTANCE BY A PERCENTAGE (1 TO 100)
44
+ OF A FULL SWING? 50
45
+
46
+ TOO MUCH CLUB. YOU'RE PAST THE HOLE.
47
+ SHOT WENT 63 YARDS. IT'S 21 YARDS FROM THE CUP.
48
+ BALL IS 2 YARDS OFF LINE... IN TRAP.
49
+ WHAT CLUB DO YOU CHOOSE? 29
50
+
51
+ NOW GAUGE YOUR DISTANCE BY A PERCENTAGE (1 TO 100)
52
+ OF A FULL SWING? 20
53
+
54
+ ON GREEN, 1 FEET FROM THE PIN.
55
+ CHOOSE YOUR PUTT POTENCY (1 TO 13):? 1
56
+ PASSED BY CUP.
57
+ ON GREEN, 3 FEET FROM THE PIN.
58
+ CHOOSE YOUR PUTT POTENCY (1 TO 13):? 1
59
+ YOU HOLED IT.
60
+
61
+ YOUR SCORE ON HOLE 1 WAS 6
62
+ TOTAL PAR FOR 1 HOLES IS 4 YOUR TOTAL IS 6
63
+
64
+
65
+ YOU ARE AT THE TEE OFF HOLE 2 DISTANCE 389 YARDS, PAR 4
66
+ ON YOUR RIGHT IS TREES.
67
+ ON YOUR LEFT IS TREES.
68
+ WHAT CLUB DO YOU CHOOSE?
69
+ Error on line 630: No more input
@@ -0,0 +1,54 @@
1
+ 2 PRINT TAB(33);"GOMOKO"
2
+ 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 6 PRINT:PRINT:PRINT
4
+ 8 DIM A(19,19)
5
+ 10 PRINT "WELCOME TO THE ORIENTAL GAME OF GOMOKO."
6
+ 20 PRINT: PRINT "THE GAME IS PLAYED ON AN N BY N GRID OF A SIZE"
7
+ 30 PRINT "THAT YOU SPECIFY. DURING YOUR PLAY, YOU MAY COVER ONE GRID"
8
+ 40 PRINT "INTERSECTION WITH A MARKER. THE OBJECT OF THE GAME IS TO GET"
9
+ 50 PRINT "5 ADJACENT MARKERS IN A ROW -- HORIZONTALLY, VERTICALLY, OR"
10
+ 60 PRINT "DIAGONALLY. ON THE BOARD DIAGRAM, YOUR MOVES ARE MARKED"
11
+ 70 PRINT "WITH A '1' AND THE COMPUTER MOVES WITH A '2'."
12
+ 80 PRINT: PRINT "THE COMPUTER DOES NOT KEEP TRACK OF WHO HAS WON."
13
+ 90 PRINT "TO END THE GAME, TYPE -1,-1 FOR YOUR MOVE.": PRINT
14
+ 110 PRINT "WHAT IS YOUR BOARD SIZE (MIN 7/ MAX 19)";: INPUT N
15
+ 115 IF N>6 THEN 117
16
+ 116 GOTO 120
17
+ 117 IF N<20 THEN 210
18
+ 120 PRINT "I SAID, THE MINIMUM IS 7, THE MAXIMUM IS 19.": GOTO 110
19
+ 210 FOR I=1 TO N:FOR J=1 TO N: A(I,J)=0: NEXT J: NEXT I
20
+ 300 PRINT: PRINT "WE ALTERNATE MOVES. YOU GO FIRST...": PRINT
21
+ 310 PRINT "YOUR PLAY (I,J)";: INPUT I,J
22
+ 315 PRINT
23
+ 320 IF I=-1 THEN 980
24
+ 330 X=I: Y=J: GOSUB 910: IF L=1 THEN 410
25
+ 340 PRINT "ILLEGAL MOVE. TRY AGAIN...": GOTO 310
26
+ 410 IF A(I,J)=0 THEN 440
27
+ 420 PRINT "SQUARE OCCUPIED. TRY AGAIN...": GOTO 310
28
+ 440 A(I,J)=1
29
+ 500 REM *** COMPUTER TRIES AN INTELLIGENT MOVE ***
30
+ 510 FOR E=-1 TO 1: FOR F=-1 TO 1: IF E+F-E*F=0 THEN 590
31
+ 540 X=I+F: Y=J+F: GOSUB 910
32
+ 570 IF L=0 THEN 590
33
+ 580 IF A(X,Y)=1 THEN 710
34
+ 590 NEXT F: NEXT E
35
+ 600 REM *** COMPUTER TRIES A RANDOM MOVE ***
36
+ 610 X=INT(N*RND(1)+1): Y=INT(N*RND(1)+1): GOSUB 910: IF L=0 THEN 610
37
+ 650 IF A(X,Y)<>0 THEN 610
38
+ 660 A(X,Y)=2: GOSUB 810: GOTO 310
39
+ 710 X=I-E: Y=J-F: GOSUB 910
40
+ 750 IF L=0 THEN 610
41
+ 760 GOTO 650
42
+ 800 REM *** PRINT THE BOARD ***
43
+ 810 FOR I=1 TO N: FOR J=1 TO N: PRINT A(I,J);
44
+ 840 NEXT J: PRINT: NEXT I: PRINT: RETURN
45
+ 910 L=1: IF X<1 THEN 970
46
+ 920 IF X>N THEN 970
47
+ 930 IF Y<1 THEN 970
48
+ 940 IF Y>N THEN 970
49
+ 950 RETURN
50
+ 970 L=0: RETURN
51
+ 980 PRINT: PRINT "THANKS FOR THE GAME!!"
52
+ 985 PRINT "PLAY AGAIN (1 FOR YES, 0 FOR NO)";: INPUT Q
53
+ 990 IF Q=1 THEN 110
54
+ 999 END
@@ -0,0 +1,6 @@
1
+ 7
2
+ 1,1
3
+ 2,2
4
+ 3,3
5
+ 4,4
6
+ 5,5
@@ -0,0 +1,66 @@
1
+ GOMOKO
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ WELCOME TO THE ORIENTAL GAME OF GOMOKO.
7
+
8
+ THE GAME IS PLAYED ON AN N BY N GRID OF A SIZE
9
+ THAT YOU SPECIFY. DURING YOUR PLAY, YOU MAY COVER ONE GRID
10
+ INTERSECTION WITH A MARKER. THE OBJECT OF THE GAME IS TO GET
11
+ 5 ADJACENT MARKERS IN A ROW -- HORIZONTALLY, VERTICALLY, OR
12
+ DIAGONALLY. ON THE BOARD DIAGRAM, YOUR MOVES ARE MARKED
13
+ WITH A '1' AND THE COMPUTER MOVES WITH A '2'.
14
+
15
+ THE COMPUTER DOES NOT KEEP TRACK OF WHO HAS WON.
16
+ TO END THE GAME, TYPE -1,-1 FOR YOUR MOVE.
17
+
18
+ WHAT IS YOUR BOARD SIZE (MIN 7/ MAX 19)? 7
19
+
20
+ WE ALTERNATE MOVES. YOU GO FIRST...
21
+
22
+ YOUR PLAY (I,J)? 1,1
23
+
24
+ 1 0 0 0 0 0 0
25
+ 2 0 0 0 0 0 0
26
+ 0 0 0 0 0 0 0
27
+ 0 0 0 0 0 0 0
28
+ 0 0 0 0 0 0 0
29
+ 0 0 0 0 0 0 0
30
+ 0 0 0 0 0 0 0
31
+
32
+ YOUR PLAY (I,J)? 2,2
33
+
34
+ 1 0 0 0 0 0 0
35
+ 2 1 0 0 0 0 0
36
+ 0 0 2 0 0 0 0
37
+ 0 0 0 0 0 0 0
38
+ 0 0 0 0 0 0 0
39
+ 0 0 0 0 0 0 0
40
+ 0 0 0 0 0 0 0
41
+
42
+ YOUR PLAY (I,J)? 3,3
43
+
44
+ SQUARE OCCUPIED. TRY AGAIN...
45
+ YOUR PLAY (I,J)? 4,4
46
+
47
+ 1 0 0 0 0 0 0
48
+ 2 1 0 0 0 0 0
49
+ 0 0 2 0 0 0 0
50
+ 0 0 0 1 0 0 0
51
+ 0 0 0 2 0 0 0
52
+ 0 0 0 0 0 0 0
53
+ 0 0 0 0 0 0 0
54
+
55
+ YOUR PLAY (I,J)? 5,5
56
+
57
+ 1 0 0 0 0 0 0
58
+ 2 1 0 0 0 0 0
59
+ 0 0 2 0 0 0 0
60
+ 0 0 0 1 0 0 0
61
+ 0 0 0 2 1 0 0
62
+ 0 0 0 0 0 2 0
63
+ 0 0 0 0 0 0 0
64
+
65
+ YOUR PLAY (I,J)?
66
+ Error on line 310: No more input
@@ -0,0 +1,40 @@
1
+ 1 PRINT TAB(33);"GUESS"
2
+ 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 3 PRINT:PRINT:PRINT
4
+ 4 PRINT "THIS IS A NUMBER GUESSING GAME. I'LL THINK"
5
+ 5 PRINT "OF A NUMBER BETWEEN 1 AND ANY LIMIT YOU WANT."
6
+ 6 PRINT "THEN YOU HAVE TO GUESS WHAT IT IS."
7
+ 7 PRINT
8
+ 8 PRINT "WHAT LIMIT DO YOU WANT";
9
+ 9 INPUT L
10
+ 10 PRINT
11
+ 11 L1=INT(LOG(L)/LOG(2))+1
12
+ 12 PRINT "I'M THINKING OF A NUMBER BETWEEN 1 AND";L
13
+ 13 G=1
14
+ 14 PRINT "NOW YOU TRY TO GUESS WHAT IT IS."
15
+ 15 M=INT(L*RND(1)+1)
16
+ 20 INPUT N
17
+ 21 IF N>0 THEN 25
18
+ 22 GOSUB 70
19
+ 23 GOTO 1
20
+ 25 IF N=M THEN 50
21
+ 30 G=G+1
22
+ 31 IF N>M THEN 40
23
+ 32 PRINT "TOO LOW. TRY A BIGGER ANSWER."
24
+ 33 GOTO 20
25
+ 40 PRINT "TOO HIGH. TRY A SMALLER ANSWER."
26
+ 42 GOTO 20
27
+ 50 PRINT "THAT'S IT! YOU GOT IT IN";G;"TRIES."
28
+ 52 IF G<L1 THEN 58
29
+ 54 IF G=L1 THEN 60
30
+ 56 PRINT "YOU SHOULD HAVE BEEN ABLE TO GET IT IN ONLY";L1
31
+ 57 GOTO 65
32
+ 58 PRINT "VERY ";
33
+ 60 PRINT "GOOD."
34
+ 65 GOSUB 70
35
+ 66 GOTO 12
36
+ 70 FOR H=1 TO 5
37
+ 71 PRINT
38
+ 72 NEXT H
39
+ 73 RETURN
40
+ 99 END
@@ -0,0 +1,8 @@
1
+ 100
2
+ 50
3
+ 75
4
+ 62
5
+ 56
6
+ 53
7
+ 54
8
+ 55
@@ -0,0 +1,37 @@
1
+ GUESS
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ THIS IS A NUMBER GUESSING GAME. I'LL THINK
7
+ OF A NUMBER BETWEEN 1 AND ANY LIMIT YOU WANT.
8
+ THEN YOU HAVE TO GUESS WHAT IT IS.
9
+
10
+ WHAT LIMIT DO YOU WANT? 100
11
+
12
+ I'M THINKING OF A NUMBER BETWEEN 1 AND 100
13
+ NOW YOU TRY TO GUESS WHAT IT IS.
14
+ ? 50
15
+ TOO LOW. TRY A BIGGER ANSWER.
16
+ ? 75
17
+ TOO HIGH. TRY A SMALLER ANSWER.
18
+ ? 62
19
+ TOO HIGH. TRY A SMALLER ANSWER.
20
+ ? 56
21
+ TOO HIGH. TRY A SMALLER ANSWER.
22
+ ? 53
23
+ TOO LOW. TRY A BIGGER ANSWER.
24
+ ? 54
25
+ TOO LOW. TRY A BIGGER ANSWER.
26
+ ? 55
27
+ THAT'S IT! YOU GOT IT IN 7 TRIES.
28
+ GOOD.
29
+
30
+
31
+
32
+
33
+
34
+ I'M THINKING OF A NUMBER BETWEEN 1 AND 100
35
+ NOW YOU TRY TO GUESS WHAT IT IS.
36
+ ?
37
+ Error on line 20: No more input