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,113 @@
1
+ LIFE2
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ U.B. LIFE GAME
7
+
8
+ PLAYER 1 - 3 LIVE PIECES.
9
+ X,Y
10
+ XXXXXX
11
+ X,Y
12
+ XXXXXX
13
+ X,Y
14
+ XXXXXX
15
+
16
+ PLAYER 2 - 3 LIVE PIECES.
17
+ X,Y
18
+ XXXXXX
19
+ X,Y
20
+ XXXXXX
21
+ X,Y
22
+ XXXXXX
23
+
24
+ 0 1 2 3 4 5 0
25
+ 1 * 1
26
+ 2 * 2
27
+ 3 # * 3
28
+ 4 # 4
29
+ 5 # 5
30
+ 0 1 2 3 4 5 0
31
+
32
+ 0 1 2 3 4 5 0
33
+ 1 1
34
+ 2 * * * 2
35
+ 3 # * 3
36
+ 4 # # # 4
37
+ 5 5
38
+ 0 1 2 3 4 5 0
39
+
40
+ PLAYER 1 X,Y
41
+ XXXXXX
42
+
43
+
44
+ PLAYER 2 X,Y
45
+ XXXXXX
46
+
47
+
48
+ 0 1 2 3 4 5 0
49
+ 1 * 1
50
+ 2 * * 2
51
+ 3 3
52
+ 4 # # 4
53
+ 5 # # 5
54
+ 0 1 2 3 4 5 0
55
+
56
+ PLAYER 1 X,Y
57
+ XXXXXX
58
+
59
+
60
+ PLAYER 2 X,Y
61
+ XXXXXX
62
+ ILLEGAL COORDS. RETYPE
63
+ X,Y
64
+ XXXXXX
65
+ ILLEGAL COORDS. RETYPE
66
+ X,Y
67
+ XXXXXX
68
+
69
+
70
+ 0 1 2 3 4 5 0
71
+ 1 * * * 1
72
+ 2 * # * 2
73
+ 3 # # 3
74
+ 4 # # 4
75
+ 5 # # * 5
76
+ 0 1 2 3 4 5 0
77
+
78
+ PLAYER 1 X,Y
79
+ XXXXXX
80
+
81
+
82
+ PLAYER 2 X,Y
83
+ XXXXXX
84
+
85
+
86
+ 0 1 2 3 4 5 0
87
+ 1 * # 1
88
+ 2 2
89
+ 3 # 3
90
+ 4 4
91
+ 5 # * 5
92
+ 0 1 2 3 4 5 0
93
+
94
+ PLAYER 1 X,Y
95
+ XXXXXX
96
+ ILLEGAL COORDS. RETYPE
97
+ X,Y
98
+ XXXXXX
99
+
100
+
101
+ PLAYER 2 X,Y
102
+ XXXXXX
103
+
104
+
105
+ 0 1 2 3 4 5 0
106
+ 1 1
107
+ 2 2
108
+ 3 3
109
+ 4 # # 4
110
+ 5 # 5
111
+ 0 1 2 3 4 5 0
112
+ PLAYER 2 IS THE WINNER
113
+ Error on line 575: Undefined line number 800
@@ -0,0 +1,49 @@
1
+ 1 PRINT TAB(25);"LITERATURE QUIZ"
2
+ 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 3 PRINT:PRINT:PRINT
4
+ 5 R=0
5
+ 10 PRINT "TEST YOUR KNOWLEDGE OF CHILDREN'S LITERATURE."
6
+ 12 PRINT: PRINT "THIS IS A MULTIPLE-CHOICE QUIZ."
7
+ 13 PRINT "TYPE A 1, 2, 3, OR 4 AFTER THE QUESTION MARK."
8
+ 15 PRINT: PRINT "GOOD LUCK!": PRINT: PRINT
9
+ 40 PRINT "IN PINOCCHIO, WHAT WAS THE NAME OF THE CAT"
10
+ 42 PRINT "1)TIGGER, 2)CICERO, 3)FIGARO, 4)GUIPETTO";
11
+ 43 INPUT A: IF A=3 THEN 46
12
+ 44 PRINT "SORRY...FIGARO WAS HIS NAME.": GOTO 50
13
+ 46 PRINT "VERY GOOD! HERE'S ANOTHER."
14
+ 47 R=R+1
15
+ 50 PRINT: PRINT
16
+ 51 PRINT "FROM WHOSE GARDEN DID BUGS BUNNY STEAL THE CARROTS?"
17
+ 52 PRINT "1)MR. NIXON'S, 2)ELMER FUDD'S, 3)CLEM JUDD'S, 4)STROMBOLI'S";
18
+ 53 INPUT A: IF A=2 THEN 56
19
+ 54 PRINT "TOO BAD...IT WAS ELMER FUDD'S GARDEN.": GOTO 60
20
+ 56 PRINT "PRETTY GOOD!"
21
+ 57 R=R+1
22
+ 60 PRINT: PRINT
23
+ 61 PRINT "IN THE WIZARD OF OS, DOROTHY'S DOG WAS NAMED"
24
+ 62 PRINT "1)CICERO, 2)TRIXIA, 3)KING, 4)TOTO";
25
+ 63 INPUT A: IF A=4 THEN 66
26
+ 64 PRINT "BACK TO THE BOOKS,...TOTO WAS HIS NAME.": GOTO 70
27
+ 66 PRINT "YEA! YOU'RE A REAL LITERATURE GIANT."
28
+ 67 R=R+1
29
+ 70 PRINT:PRINT
30
+ 71 PRINT "WHO WAS THE FAIR MAIDEN WHO ATE THE POISON APPLE"
31
+ 72 PRINT "1)SLEEPING BEAUTY, 2)CINDERELLA, 3)SNOW WHITE, 4)WENDY";
32
+ 73 INPUT A: IF A=3 THEN 76
33
+ 74 PRINT "OH, COME ON NOW...IT WAS SNOW WHITE."
34
+ 75 GOTO 80
35
+ 76 PRINT "GOOD MEMORY!"
36
+ 77 R=R+1
37
+ 80 PRINT:PRINT
38
+ 85 IF R=4 THEN 100
39
+ 90 IF R<2 THEN 200
40
+ 92 PRINT "NOT BAD, BUT YOU MIGHT SPEND A LITTLE MORE TIME"
41
+ 94 PRINT "READING THE NURSERY GREATS."
42
+ 96 STOP
43
+ 100 PRINT "WOW! THAT'S SUPER! YOU REALLY KNOW YOUR NURSERY"
44
+ 110 PRINT "YOUR NEXT QUIZ WILL BE ON 2ND CENTURY CHINESE"
45
+ 120 PRINT "LITERATURE (HA, HA, HA)"
46
+ 130 STOP
47
+ 200 PRINT "UGH. THAT WAS DEFINITELY NOT TOO SWIFT. BACK TO"
48
+ 205 PRINT "NURSERY SCHOOL FOR YOU, MY FRIEND."
49
+ 999 END
@@ -0,0 +1,36 @@
1
+ LITERATURE QUIZ
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ TEST YOUR KNOWLEDGE OF CHILDREN'S LITERATURE.
7
+
8
+ THIS IS A MULTIPLE-CHOICE QUIZ.
9
+ TYPE A 1, 2, 3, OR 4 AFTER THE QUESTION MARK.
10
+
11
+ GOOD LUCK!
12
+
13
+
14
+ IN PINOCCHIO, WHAT WAS THE NAME OF THE CAT
15
+ 1)TIGGER, 2)CICERO, 3)FIGARO, 4)GUIPETTO? 2
16
+ SORRY...FIGARO WAS HIS NAME.
17
+
18
+
19
+ FROM WHOSE GARDEN DID BUGS BUNNY STEAL THE CARROTS?
20
+ 1)MR. NIXON'S, 2)ELMER FUDD'S, 3)CLEM JUDD'S, 4)STROMBOLI'S? 2
21
+ PRETTY GOOD!
22
+
23
+
24
+ IN THE WIZARD OF OS, DOROTHY'S DOG WAS NAMED
25
+ 1)CICERO, 2)TRIXIA, 3)KING, 4)TOTO? 4
26
+ YEA! YOU'RE A REAL LITERATURE GIANT.
27
+
28
+
29
+ WHO WAS THE FAIR MAIDEN WHO ATE THE POISON APPLE
30
+ 1)SLEEPING BEAUTY, 2)CINDERELLA, 3)SNOW WHITE, 4)WENDY? 3
31
+ GOOD MEMORY!
32
+
33
+
34
+ NOT BAD, BUT YOU MIGHT SPEND A LITTLE MORE TIME
35
+ READING THE NURSERY GREATS.
36
+ Break in line 96
@@ -0,0 +1,34 @@
1
+ 2 PRINT TAB(33);"LOVE"
2
+ 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 6 PRINT: PRINT: PRINT
4
+ 20 PRINT "A TRIBUTE TO THE GREAT AMERICAN ARTIST, ROBERT INDIANA."
5
+ 30 PRINT "HIS GREATEST WORK WILL BE REPRODUCED WITH A MESSAGE OF"
6
+ 40 PRINT "YOUR CHOICE UP TO 60 CHARACTERS. IF YOU CAN'T THINK OF"
7
+ 50 PRINT "A MESSAGE, SIMPLE TYPE THE WORD 'LOVE'": PRINT
8
+ 60 INPUT "YOUR MESSAGE, PLEASE";A$: L=LEN(A$)
9
+ 70 DIM T$(120): FOR I=1 TO 10: PRINT: NEXT I
10
+ 100 FOR J=0 TO INT(60/L)
11
+ 110 FOR I=1 TO L
12
+ 120 T$(J*L+I)=MID$(A$,I,1)
13
+ 130 NEXT I: NEXT J
14
+ 140 C=0
15
+ 200 A1=1: P=1: C=C+1: IF C=37 THEN 999
16
+ 205 PRINT
17
+ 210 READ A: A1=A1+A: IF P=1 THEN 300
18
+ 240 FOR I=1 TO A: PRINT " ";: NEXT I: P=1: GOTO 400
19
+ 300 FOR I=A1-A TO A1-1: PRINT T$(I);: NEXT I: P=0
20
+ 400 IF A1>60 THEN 200
21
+ 410 GOTO 210
22
+ 600 DATA 60,1,12,26,9,12,3,8,24,17,8,4,6,23,21,6,4,6,22,12,5,6,5
23
+ 610 DATA 4,6,21,11,8,6,4,4,6,21,10,10,5,4,4,6,21,9,11,5,4
24
+ 620 DATA 4,6,21,8,11,6,4,4,6,21,7,11,7,4,4,6,21,6,11,8,4
25
+ 630 DATA 4,6,19,1,1,5,11,9,4,4,6,19,1,1,5,10,10,4,4,6,18,2,1,6,8,11,4
26
+ 640 DATA 4,6,17,3,1,7,5,13,4,4,6,15,5,2,23,5,1,29,5,17,8
27
+ 650 DATA 1,29,9,9,12,1,13,5,40,1,1,13,5,40,1,4,6,13,3,10,6,12,5,1
28
+ 660 DATA 5,6,11,3,11,6,14,3,1,5,6,11,3,11,6,15,2,1
29
+ 670 DATA 6,6,9,3,12,6,16,1,1,6,6,9,3,12,6,7,1,10
30
+ 680 DATA 7,6,7,3,13,6,6,2,10,7,6,7,3,13,14,10,8,6,5,3,14,6,6,2,10
31
+ 690 DATA 8,6,5,3,14,6,7,1,10,9,6,3,3,15,6,16,1,1
32
+ 700 DATA 9,6,3,3,15,6,15,2,1,10,6,1,3,16,6,14,3,1,10,10,16,6,12,5,1
33
+ 710 DATA 11,8,13,27,1,11,8,13,27,1,60
34
+ 999 FOR I=1 TO 10: PRINT: NEXT I: END
@@ -0,0 +1 @@
1
+ ILIKEHIPPIES
@@ -0,0 +1,67 @@
1
+ LOVE
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ A TRIBUTE TO THE GREAT AMERICAN ARTIST, ROBERT INDIANA.
7
+ HIS GREATEST WORK WILL BE REPRODUCED WITH A MESSAGE OF
8
+ YOUR CHOICE UP TO 60 CHARACTERS. IF YOU CAN'T THINK OF
9
+ A MESSAGE, SIMPLE TYPE THE WORD 'LOVE'
10
+
11
+ YOUR MESSAGE, PLEASE? ILIKEHIPPIES
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+ ILIKEHIPPIESILIKEHIPPIESILIKEHIPPIESILIKEHIPPIESILIKEHIPPIES
24
+ I LIKEHIPPIESILIKEHIPPIESILI ILIKEHIPPIES
25
+ ILI SILIKEHIPPIESILIKEHIPPIE EHIPPIES
26
+ ILIK ESILIKEHIPPIESILIKEHIPP IPPIES
27
+ ILIK ESILIKEHIPPIESILIKEHIP PIESI PPIES
28
+ ILIK ESILIKEHIPPIESILIKEHI IPPIESIL PIES
29
+ ILIK ESILIKEHIPPIESILIKEHI HIPPIESILI PIES
30
+ ILIK ESILIKEHIPPIESILIKEHI EHIPPIESILI PIES
31
+ ILIK ESILIKEHIPPIESILIKEHI KEHIPPIESIL PIES
32
+ ILIK ESILIKEHIPPIESILIKEHI IKEHIPPIESI PIES
33
+ ILIK ESILIKEHIPPIESILIKEHI LIKEHIPPIES PIES
34
+ ILIK ESILIKEHIPPIESILIKE I ILIKEHIPPIE PIES
35
+ ILIK ESILIKEHIPPIESILIKE I ILIKEHIPPI PIES
36
+ ILIK ESILIKEHIPPIESILIK I LIKEHIPP PIES
37
+ ILIK ESILIKEHIPPIESILI I IKEHI PIES
38
+ ILIK ESILIKEHIPPIESI IP PPIES
39
+ I IPPIE EHIPPIES
40
+ I IPPIESILI ILIKEHIPPIES
41
+ I IKEHI S
42
+ I IKEHI S
43
+ ILIK ESILIKEHIPPIE IKEHIPPIES IPPIESILIKEH S
44
+ ILIKE SILIKEHIPPI LIKEHIPPIES IPPIESILIKEHIP S
45
+ ILIKE SILIKEHIPPI LIKEHIPPIES IPPIESILIKEHIPP S
46
+ ILIKEH ILIKEHIPP ILIKEHIPPIES IPPIESILIKEHIPPI S
47
+ ILIKEH ILIKEHIPP ILIKEHIPPIES IPPIESI IKEHIPPIES
48
+ ILIKEHI LIKEHIP SILIKEHIPPIES IPPIES IKEHIPPIES
49
+ ILIKEHI LIKEHIP SILIKEHIPPIES IKEHIPPIES
50
+ ILIKEHIP IKEHI ESILIKEHIPPIES IPPIES IKEHIPPIES
51
+ ILIKEHIP IKEHI ESILIKEHIPPIES IPPIESI IKEHIPPIES
52
+ ILIKEHIPP KEH IESILIKEHIPPIES IPPIESILIKEHIPPI S
53
+ ILIKEHIPP KEH IESILIKEHIPPIES IPPIESILIKEHIPP S
54
+ ILIKEHIPPI E PIESILIKEHIPPIES IPPIESILIKEHIP S
55
+ ILIKEHIPPI PIESILIKEHIPPIES IPPIESILIKEH S
56
+ ILIKEHIPPIE PPIESILIKEHIP S
57
+ ILIKEHIPPIE PPIESILIKEHIP S
58
+ ILIKEHIPPIESILIKEHIPPIESILIKEHIPPIESILIKEHIPPIESILIKEHIPPIES
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
@@ -0,0 +1,48 @@
1
+ 10 PRINT TAB(33);"LUNAR"
2
+ 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 25 PRINT:PRINT:PRINT
4
+ 30 PRINT "THIS IS A COMPUTER SIMULATION OF AN APOLLO LUNAR"
5
+ 40 PRINT "LANDING CAPSULE.": PRINT: PRINT
6
+ 50 PRINT "THE ON-BOARD COMPUTER HAS FAILED (IT WAS MADE BY"
7
+ 60 PRINT "XEROX) SO YOU HAVE TO LAND THE CAPSULE MANUALLY."
8
+ 70 PRINT: PRINT "SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN"
9
+ 80 PRINT "0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND."
10
+ 90 PRINT "SET NEW BURN RATE EVERY 10 SECONDS.": PRINT
11
+ 100 PRINT "CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS."
12
+ 110 PRINT: PRINT: PRINT: PRINT "GOOD LUCK"
13
+ 120 L=0
14
+ 130 PRINT: PRINT "SEC","MI + FT","MPH","LB FUEL","BURN RATE":PRINT
15
+ 140 A=120:V=1:M=33000:N=16500:G=1E-03:Z=1.8
16
+ 150 PRINT L,INT(A);INT(5280*(A-INT(A))),3600*V,M-N,:INPUT K:T=10
17
+ 160 IF M-N<1E-03 THEN 240
18
+ 170 IF T<1E-03 THEN 150
19
+ 180 S=T: IF M>=N+S*K THEN 200
20
+ 190 S=(M-N)/K
21
+ 200 GOSUB 420: IF I<=O THEN 340
22
+ 210 IF V<=0 THEN 230
23
+ 220 IF J<0 THEN 370
24
+ 230 GOSUB 330: GOTO 160
25
+ 240 PRINT "FUEL OUT AT";L;"SECONDS":S=(-V+SQR(V*V+2*A*G))/G
26
+ 250 V=V+G*S: L=L+S
27
+ 260 W=3600*V: PRINT "ON MOON AT";L;"SECONDS - IMPACT VELOCITY";W;"MPH"
28
+ 274 IF W<=1.2 THEN PRINT "PERFECT LANDING!": GOTO 440
29
+ 280 IF W<=10 THEN PRINT "GOOD LANDING (COULD RE BETTER)":GOTO 440
30
+ 282 IF W>60 THEN 300
31
+ 284 PRINT "CRAFT DAMAGE... YOU'RE STRANDED HERE UNTIL A RESCUE"
32
+ 286 PRINT "PARTY ARRIVES. HOPE YOU HAVE ENOUGH OXYGEN!"
33
+ 288 GOTO 440
34
+ 300 PRINT "SORRY THERE NERE NO SURVIVORS. YOU BLOW IT!"
35
+ 310 PRINT "IN FACT, YOU BLASTED A NEW LUNAR CRATER";W*.227;"FEET DEEP!"
36
+ 320 GOTO 440
37
+ 330 L=L+S: T=T-S: M=M-S*K: A=I: V=J: RETURN
38
+ 340 IF S<5E-03 THEN 260
39
+ 350 D=V+SQR(V*V+2*A*(G-Z*K/M)):S=2*A/D
40
+ 360 GOSUB 420: GOSUB 330: GOTO 340
41
+ 370 W=(1-M*G/(Z*K))/2: S=M*V/(Z*K*(W+SQR(W*W+V/Z)))+.05:GOSUB 420
42
+ 380 IF I<=0 THEN 340
43
+ 390 GOSUB 330: IF J>0 THEN 160
44
+ 400 IF V>0 THEN 370
45
+ 410 GOTO 160
46
+ 420 Q=S*K/M: J=V+G*S+Z*(-Q-Q*Q/2-Q^3/3-Q^4/4-Q^5/5)
47
+ 430 I=A-G*S*S/2-V*S+Z*S*(Q/2+Q^2/6+Q^3/12+Q^4/20+Q^5/30):RETURN
48
+ 440 PRINT:PRINT:PRINT:PRINT "TRY AGAIN??": GOTO 70
@@ -0,0 +1,87 @@
1
+ 0
2
+ 0
3
+ 0
4
+ 0
5
+ 100
6
+ 100
7
+ 100
8
+ 100
9
+ 100
10
+ 100
11
+ 100
12
+ 100
13
+ 100
14
+ 100
15
+ 100
16
+ 0
17
+ 0
18
+ 0
19
+ 100
20
+ 100
21
+ 100
22
+ 100
23
+ 100
24
+ 100
25
+ 100
26
+ 100
27
+ 100
28
+ 100
29
+ 100
30
+ 100
31
+ 100
32
+ 100
33
+ 0
34
+ 0
35
+ 100
36
+ 100
37
+ 100
38
+ 100
39
+ 100
40
+ 100
41
+ 100
42
+ 100
43
+ 100
44
+ 100
45
+ 100
46
+ 100
47
+ 100
48
+ 100
49
+ 100
50
+ 100
51
+ 0
52
+ 0
53
+ 20
54
+ 0
55
+ 10
56
+ 0
57
+ 5
58
+ 6
59
+ 6
60
+ 7
61
+ 0
62
+ 0
63
+ 100
64
+ 100
65
+ 100
66
+ 100
67
+ 100
68
+ 100
69
+ 100
70
+ 100
71
+ 100
72
+ 100
73
+ 100
74
+ 100
75
+ 100
76
+ 100
77
+ 100
78
+ 20
79
+ 10
80
+ 10
81
+ 10
82
+ 10
83
+ 10
84
+ 10
85
+ 10
86
+ 50
87
+ 10
@@ -0,0 +1,195 @@
1
+ LUNAR
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ THIS IS A COMPUTER SIMULATION OF AN APOLLO LUNAR
7
+ LANDING CAPSULE.
8
+
9
+
10
+ THE ON-BOARD COMPUTER HAS FAILED (IT WAS MADE BY
11
+ XEROX) SO YOU HAVE TO LAND THE CAPSULE MANUALLY.
12
+
13
+ SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN
14
+ 0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND.
15
+ SET NEW BURN RATE EVERY 10 SECONDS.
16
+
17
+ CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS.
18
+
19
+
20
+
21
+ GOOD LUCK
22
+
23
+ SEC MI + FT MPH LB FUEL BURN RATE
24
+
25
+ 0 120 0 3600 16500 ? 0
26
+ 10 109 5016 3636 16500 ? 0
27
+ 20 99 4224 3672 16500 ? 0
28
+ 30 89 2904 3708 16500 ? 0
29
+ 40 79 1056 3744 16500 ? 100
30
+ 50 69 134 3580.6 15500 ? 100
31
+ 60 59 1656 3410.868 14500 ? 100
32
+ 70 50 435 3234.39 13500 ? 100
33
+ 80 41 1855 3050.708 12500 ? 100
34
+ 90 33 745 2859.316 11500 ? 100
35
+ 100 25 2502 2659.654 10500 ? 100
36
+ 110 18 1972 2451.097 9500 ? 100
37
+ 120 11 4570 2232.946 8500 ? 100
38
+ 130 5 5163 2004.42 7500 ? 100
39
+ 140 0 3909 1764.634 6500 ? 100
40
+ ON MOON AT 141.5269 SECONDS - IMPACT VELOCITY 1726.968 MPH
41
+ SORRY THERE NERE NO SURVIVORS. YOU BLOW IT!
42
+ IN FACT, YOU BLASTED A NEW LUNAR CRATER 392.0218 FEET DEEP!
43
+
44
+
45
+
46
+ TRY AGAIN??
47
+
48
+ SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN
49
+ 0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND.
50
+ SET NEW BURN RATE EVERY 10 SECONDS.
51
+
52
+ CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS.
53
+
54
+
55
+
56
+ GOOD LUCK
57
+
58
+ SEC MI + FT MPH LB FUEL BURN RATE
59
+
60
+ 0 120 0 3600 16500 ? 0
61
+ 10 109 5016 3636 16500 ? 0
62
+ 20 99 4224 3672 16500 ? 0
63
+ 30 89 2904 3708 16500 ? 100
64
+ 40 79 2510 3544.6 15500 ? 100
65
+ 50 69 4560 3374.868 14500 ? 100
66
+ 60 60 3867 3198.39 13500 ? 100
67
+ 70 52 535 3014.708 12500 ? 100
68
+ 80 43 5233 2823.316 11500 ? 100
69
+ 90 36 2238 2623.654 10500 ? 100
70
+ 100 29 2236 2415.097 9500 ? 100
71
+ 110 23 82 2196.946 8500 ? 100
72
+ 120 17 1203 1968.42 7500 ? 100
73
+ 130 12 477 1728.634 6500 ? 100
74
+ 140 7 3357 1476.586 5500 ? 100
75
+ 150 3 4750 1211.136 4500 ? 100
76
+ 160 0 4862 930.9762 3500 ? 100
77
+ ON MOON AT 163.7841 SECONDS - IMPACT VELOCITY 820.8196 MPH
78
+ SORRY THERE NERE NO SURVIVORS. YOU BLOW IT!
79
+ IN FACT, YOU BLASTED A NEW LUNAR CRATER 186.326 FEET DEEP!
80
+
81
+
82
+
83
+ TRY AGAIN??
84
+
85
+ SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN
86
+ 0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND.
87
+ SET NEW BURN RATE EVERY 10 SECONDS.
88
+
89
+ CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS.
90
+
91
+
92
+
93
+ GOOD LUCK
94
+
95
+ SEC MI + FT MPH LB FUEL BURN RATE
96
+
97
+ 0 120 0 3600 16500 ? 0
98
+ 10 109 5016 3636 16500 ? 0
99
+ 20 99 4224 3672 16500 ? 100
100
+ 30 89 4358 3508.6 15500 ? 100
101
+ 40 80 1656 3338.868 14500 ? 100
102
+ 50 71 1491 3162.39 13500 ? 100
103
+ 60 62 3967 2978.708 12500 ? 100
104
+ 70 54 3913 2787.316 11500 ? 100
105
+ 80 47 1446 2587.654 10500 ? 100
106
+ 90 40 1972 2379.097 9500 ? 100
107
+ 100 34 346 2160.946 8500 ? 100
108
+ 110 28 1995 1932.42 7500 ? 100
109
+ 120 23 1797 1692.634 6500 ? 100
110
+ 130 18 5205 1440.586 5500 ? 100
111
+ 140 15 1846 1175.136 4500 ? 100
112
+ 150 12 2486 894.9762 3500 ? 100
113
+ 160 10 2072 598.5957 2500 ? 100
114
+ 170 9 855 284.2401 1500 ? 100
115
+ 180 8 4392 -50.14642 500 ? 0
116
+ 190 8 4864 -14.14642 500 ? 0
117
+ 200 8 4807 21.85358 500 ? 20
118
+ 210 8 4784 -18.8337 300 ? 0
119
+ 220 8 4796 17.1663 300 ? 10
120
+ 230 8 4564 14.47961 200 ? 0
121
+ 240 8 4088 50.47961 200 ? 5
122
+ 250 8 3226 67.04931 150 ? 6
123
+ 260 8 2150 79.65579 90 ? 6
124
+ 270 8 889 92.1775 30 ? 7
125
+ FUEL OUT AT 274.2857 SECONDS
126
+ ON MOON AT 377.3643 SECONDS - IMPACT VELOCITY 466.9177 MPH
127
+ SORRY THERE NERE NO SURVIVORS. YOU BLOW IT!
128
+ IN FACT, YOU BLASTED A NEW LUNAR CRATER 105.9903 FEET DEEP!
129
+
130
+
131
+
132
+ TRY AGAIN??
133
+
134
+ SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN
135
+ 0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND.
136
+ SET NEW BURN RATE EVERY 10 SECONDS.
137
+
138
+ CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS.
139
+
140
+
141
+
142
+ GOOD LUCK
143
+
144
+ SEC MI + FT MPH LB FUEL BURN RATE
145
+
146
+ 0 120 0 3600 16500 ? 0
147
+ 10 109 5016 3636 16500 ? 0
148
+ 20 99 4224 3672 16500 ? 100
149
+ 30 89 4358 3508.6 15500 ? 100
150
+ 40 80 1656 3338.868 14500 ? 100
151
+ 50 71 1491 3162.39 13500 ? 100
152
+ 60 62 3967 2978.708 12500 ? 100
153
+ 70 54 3913 2787.316 11500 ? 100
154
+ 80 47 1446 2587.654 10500 ? 100
155
+ 90 40 1972 2379.097 9500 ? 100
156
+ 100 34 346 2160.946 8500 ? 100
157
+ 110 28 1995 1932.42 7500 ? 100
158
+ 120 23 1797 1692.634 6500 ? 100
159
+ 130 18 5205 1440.586 5500 ? 100
160
+ 140 15 1846 1175.136 4500 ? 100
161
+ 150 12 2486 894.9762 3500 ? 100
162
+ 160 10 2072 598.5957 2500 ? 100
163
+ 170 9 855 284.2401 1500 ? 20
164
+ 180 8 2232 247.8371 1300 ? 10
165
+ 190 7 3880 247.33 1200 ? 10
166
+ 200 7 258 246.616 1100 ? 10
167
+ 210 6 1927 245.6928 1000 ? 10
168
+ 220 5 3612 244.558 900 ? 10
169
+ 230 5 35 243.2092 800 ? 10
170
+ 240 4 1759 241.6439 700 ? 10
171
+ 250 3 3508 239.8595 600 ? 50
172
+ 260 3 1129 83.56057 100 ? 10
173
+ FUEL OUT AT 270 SECONDS
174
+ ON MOON AT 328.108 SECONDS - IMPACT VELOCITY 289.5952 MPH
175
+ SORRY THERE NERE NO SURVIVORS. YOU BLOW IT!
176
+ IN FACT, YOU BLASTED A NEW LUNAR CRATER 65.7381 FEET DEEP!
177
+
178
+
179
+
180
+ TRY AGAIN??
181
+
182
+ SET BURN RATE OF RETRO ROCKETS TO ANY VALUE BETWEEN
183
+ 0 (FREE FALL) AND 200 (MAXIMUM BURN) POUNDS PER SECOND.
184
+ SET NEW BURN RATE EVERY 10 SECONDS.
185
+
186
+ CAPSULE WEIGHT 32,500 LBS; FUEL WEIGHT 16,500 LBS.
187
+
188
+
189
+
190
+ GOOD LUCK
191
+
192
+ SEC MI + FT MPH LB FUEL BURN RATE
193
+
194
+ 0 120 0 3600 16500 ?
195
+ Error on line 150: No more input