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,54 @@
1
+ CHEMIST
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ THE FICTITIOUS CHECMICAL KRYPTOCYANIC ACID CAN ONLY BE
7
+ DILUTED BY THE RATIO OF 7 PARTS WATER TO 3 PARTS ACID.
8
+ IF ANY OTHER RATIO IS ATTEMPTED, THE ACID BECOMES UNSTABLE
9
+ AND SOON EXPLODES. GIVEN THE AMOUNT OF ACID, YOU MUST
10
+ DECIDE WHO MUCH WATER TO ADD FOR DILUTION. IF YOU MISS
11
+ YOU FACE THE CONSEQUENCES.
12
+ 27 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 63.0
13
+ GOOD JOB! YOU MAY BREATHE NOW, BUT DON'T INHALE THE FUMES!
14
+
15
+ 35 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 80
16
+ GOOD JOB! YOU MAY BREATHE NOW, BUT DON'T INHALE THE FUMES!
17
+
18
+ 30 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 65
19
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
20
+ OF QUIVERING PROTOPLASM!
21
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
22
+ 27 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 1
23
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
24
+ OF QUIVERING PROTOPLASM!
25
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
26
+ 21 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 2
27
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
28
+ OF QUIVERING PROTOPLASM!
29
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
30
+ 32 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 3
31
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
32
+ OF QUIVERING PROTOPLASM!
33
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
34
+ 21 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 4
35
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
36
+ OF QUIVERING PROTOPLASM!
37
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
38
+ 44 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 5
39
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
40
+ OF QUIVERING PROTOPLASM!
41
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
42
+ 48 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 6
43
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
44
+ OF QUIVERING PROTOPLASM!
45
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
46
+ 19 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 7
47
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
48
+ OF QUIVERING PROTOPLASM!
49
+ HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
50
+ 39 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 8
51
+ SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
52
+ OF QUIVERING PROTOPLASM!
53
+ YOUR 9 LIVES ARE USED, BUT YOU WILL BE LONG REMEMBERED FOR
54
+ YOUR CONTRIBUTIONS TO THE FIELD OF COMIC BOOK CHEMISTRY.
@@ -0,0 +1,51 @@
1
+ 2 PRINT TAB(30) "CHIEF"
2
+ 4 PRINT TAB(15) "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 6 PRINT:PRINT:PRINT
4
+ 10 PRINT "I AM CHIEF NUMBERS FREEK, THE GREAT INDIAN MATH GOD."
5
+ 20 PRINT "ARE YOU READY TO TAKE THE TEST YOU CALLED ME OUT FOR";
6
+ 30 INPUT A$
7
+ 40 IF A$="YES" THEN 60
8
+ 50 PRINT "SHUT UP, PALE FACE WITH WISE TONGUE."
9
+ 60 PRINT " TAKE A NUMBER AND ADD 3. DIVIDE THIS NUMBER BY 5 AND"
10
+ 70 PRINT "MULTIPLY BY 8. DIVIDE BY 5 AND ADD THE SAME. SUBTRACT 1."
11
+ 80 PRINT " WHAT DO YOU HAVE";
12
+ 90 INPUT B
13
+ 100 LET C = (B+1-5)*5/8*5-3
14
+ 110 PRINT "I BET YOUR NUMBER WAS" C". AM I RIGHT";
15
+ 120 INPUT D$
16
+ 130 IF D$="YES" THEN 510
17
+ 140 PRINT "WHAT WAS YOUR ORIGINAL NUMBER";
18
+ 150 INPUT K
19
+ 155 LET F=K+3
20
+ 160 LET G=F/5
21
+ 170 LET H=G*8
22
+ 180 LET I=H/5+5
23
+ 190 LET J=I-1
24
+ 200 PRINT "SO YOU THINK YOU'RE SO SMART, EH?"
25
+ 210 PRINT "NOW WATCH."
26
+ 230 PRINT K"PLUS 3 EQUALS"F". THIS DIVIDED BY 5 EQUALS"G";"
27
+ 240 PRINT "THIS TIMES 8 EQUALS"H". IF WE DIVIDE BY 5 AND ADD 5,"
28
+ 250 PRINT "WE GET"I", WHICH, MINUS 1, EQUALS"J"."
29
+ 260 PRINT "NOW DO YOU BELIEVE ME";
30
+ 270 INPUT Z$
31
+ 290 IF Z$="YES" THEN 510
32
+ 295 PRINT "YOU HAVE MADE ME MAD!!!"
33
+ 300 PRINT "THERE MUST BE A GREAT LIGHTNING BOLT!"
34
+ 310 PRINT:PRINT
35
+ 330 FOR X=30 TO 22 STEP -1
36
+ 340 PRINT TAB(X) "X X"
37
+ 350 NEXT X
38
+ 360 PRINT TAB(21) "X XXX"
39
+ 370 PRINT TAB(20) "X X"
40
+ 380 PRINT TAB(19) "XX X"
41
+ 390 FOR Y=20 TO 13 STEP -1
42
+ 400 PRINT TAB(Y) "X X"
43
+ 410 NEXT Y
44
+ 420 PRINT TAB(12) "XX"
45
+ 430 PRINT TAB(11) "X"
46
+ 440 PRINT TAB(10) "*"
47
+ 450 PRINT:PRINT"#########################":PRINT
48
+ 470 PRINT "I HOPE YOU BELIEVE ME NOW, FOR YOUR SAKE!!"
49
+ 480 GOTO 520
50
+ 510 PRINT "BYE!!!"
51
+ 520 END
@@ -0,0 +1,5 @@
1
+ YES
2
+ 12
3
+ NO
4
+ 3
5
+ YES
@@ -0,0 +1,19 @@
1
+ CHIEF
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ I AM CHIEF NUMBERS FREEK, THE GREAT INDIAN MATH GOD.
7
+ ARE YOU READY TO TAKE THE TEST YOU CALLED ME OUT FOR? YES
8
+ TAKE A NUMBER AND ADD 3. DIVIDE THIS NUMBER BY 5 AND
9
+ MULTIPLY BY 8. DIVIDE BY 5 AND ADD THE SAME. SUBTRACT 1.
10
+ WHAT DO YOU HAVE? 12
11
+ I BET YOUR NUMBER WAS 22 . AM I RIGHT? NO
12
+ WHAT WAS YOUR ORIGINAL NUMBER? 3
13
+ SO YOU THINK YOU'RE SO SMART, EH?
14
+ NOW WATCH.
15
+ 3 PLUS 3 EQUALS 6 . THIS DIVIDED BY 5 EQUALS 1.2 ;
16
+ THIS TIMES 8 EQUALS 9.6 . IF WE DIVIDE BY 5 AND ADD 5,
17
+ WE GET 6.92 , WHICH, MINUS 1, EQUALS 5.92 .
18
+ NOW DO YOU BELIEVE ME? YES
19
+ BYE!!!
@@ -0,0 +1,104 @@
1
+ 10 PRINT TAB(33);"CHOMP"
2
+ 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 30 PRINT:PRINT:PRINT
4
+ 40 DIM A(10,10)
5
+ 100 REM *** THE GAME OF CHOMP *** COPYRIGHT PCC 1973 ***
6
+ 110 PRINT
7
+ 120 PRINT "THIS IS THE GAME OF CHOMP (SCIENTIFIC AMERICAN, JAN 1973)"
8
+ 130 PRINT "DO YOU WANT THE RULES (1=YES, 0=NO!)";
9
+ 140 INPUT R
10
+ 150 IF R=0 THEN 340
11
+ 160 F=1
12
+ 170 R=5
13
+ 180 C=7
14
+ 190 PRINT "CHOMP IS FOR 1 OR MORE PLAYERS (HUMANS ONLY)."
15
+ 200 PRINT
16
+ 210 PRINT "HERE'S HOW A BOARD LOOKS (THIS ONE IS 5 BY 7):"
17
+ 220 GOSUB 540
18
+ 230 PRINT
19
+ 240 PRINT "THE BOARD IS A BIG COOKIE - R ROWS HIGH AND C COLUMNS"
20
+ 250 PRINT "WIDE. YOU INPUT R AND C AT THE START. IN THE UPPER LEFT"
21
+ 260 PRINT "CORNER OF THE COOKIE IS A POISON SQUARE (P). THE ONE WHO"
22
+ 270 PRINT "CHOMPS THE POISON SQUARE LOSES. TO TAKE A CHOMP, TYPE THE"
23
+ 280 PRINT "ROW AND COLUMN OF ONE OF THE SQUARES ON THE COOKIE."
24
+ 290 PRINT "ALL OF THE SQUARES BELOW AND TO THE RIGHT OF THAT SQUARE"
25
+ 300 PRINT "(INCLUDING THAT SQUARE, TOO) DISAPPEAR -- CHOMP!!"
26
+ 310 PRINT "NO FAIR CHOMPING SQUARES THAT HAVE ALREADY BEEN CHOMPED,"
27
+ 320 PRINT "OR THAT ARE OUTSIDE THE ORIGINAL DIMENSIONS OF THE COOKIE."
28
+ 330 PRINT
29
+ 340 PRINT "HERE WE GO..."
30
+ 350 REM
31
+ 360 F=0
32
+ 370 FOR I=1 TO 10
33
+ 372 FOR J=1 TO 10
34
+ 375 A(I,J)=0
35
+ 377 NEXT J
36
+ 379 NEXT I
37
+ 380 PRINT
38
+ 390 PRINT "HOW MANY PLAYERS";
39
+ 400 INPUT P
40
+ 410 I1=0
41
+ 420 PRINT "HOW MANY ROWS";
42
+ 430 INPUT R
43
+ 440 IF R <= 9 THEN 470
44
+ 450 PRINT "TOO MANY ROWS (9 IS MAXIMUM). NOW, ";
45
+ 460 GOTO 420
46
+ 470 PRINT "HOW MANY COLUMNS";
47
+ 480 INPUT C
48
+ 490 IF C <= 9 THEN 530
49
+ 500 PRINT "TOO MANY COLUMNS (9 IS MAXIMUM). NOW, ";
50
+ 510 GOTO 470
51
+ 530 PRINT
52
+ 540 FOR I=1 TO R
53
+ 550 FOR J=1 TO C
54
+ 560 A(I,J)=1
55
+ 570 NEXT J
56
+ 580 NEXT I
57
+ 590 A(1,1)=-1
58
+ 600 REM PRINT THE BOARD
59
+ 610 PRINT
60
+ 620 PRINT TAB(7);"1 2 3 4 5 6 7 8 9"
61
+ 630 FOR I=1 TO R
62
+ 640 PRINT I;TAB(7);
63
+ 650 FOR J=1 TO C
64
+ 660 IF A(I,J)=-1 THEN 700
65
+ 670 IF A(I,J)=0 THEN 720
66
+ 680 PRINT "* ";
67
+ 690 GOTO 710
68
+ 700 PRINT "P ";
69
+ 710 NEXT J
70
+ 720 PRINT
71
+ 730 NEXT I
72
+ 740 PRINT
73
+ 750 IF F=0 THEN 770
74
+ 760 RETURN
75
+ 770 REM GET CHOMPS FOR EACH PLAYER IN TURN
76
+ 780 LET I1=I1+1
77
+ 790 LET P1=I1-INT(I1/P)*P
78
+ 800 IF P1 <> 0 THEN 820
79
+ 810 P1=P
80
+ 820 PRINT "PLAYER";P1
81
+ 830 PRINT "COORDINATES OF CHOMP (ROW,COLUMN)";
82
+ 840 INPUT R1,C1
83
+ 850 IF R1<1 THEN 920
84
+ 860 IF R1>R THEN 920
85
+ 870 IF C1<1 THEN 920
86
+ 880 IF C1>C THEN 920
87
+ 890 IF A(R1,C1)=0 THEN 920
88
+ 900 IF A(R1,C1)=-1 THEN 1010
89
+ 910 GOTO 940
90
+ 920 PRINT "NO FAIR. YOU'RE TRYING TO CHOMP ON EMPTY SPACE!"
91
+ 930 GOTO 820
92
+ 940 FOR I=R1 TO R
93
+ 950 FOR J=C1 TO C
94
+ 960 A(I,J)=0
95
+ 970 NEXT J
96
+ 980 NEXT I
97
+ 990 GOTO 610
98
+ 1000 REM END OF GAME DETECTED IN LINE 900
99
+ 1010 PRINT "YOU LOSE, PLAYER";P1
100
+ 1020 PRINT
101
+ 1030 PRINT "AGAIN (1=YES, 0=NO!)";
102
+ 1040 INPUT R$
103
+ 1050 IF R=1 THEN 340
104
+ 1060 END
@@ -0,0 +1,15 @@
1
+ 1
2
+ 2
3
+ 8
4
+ 8
5
+ 7,5
6
+ 4,7
7
+ 4,3
8
+ 1,5
9
+ 4,2
10
+ 2,2
11
+ 1,2
12
+ 2,8
13
+ 2,1
14
+ 1,1
15
+ 0
@@ -0,0 +1,159 @@
1
+ CHOMP
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+
7
+ THIS IS THE GAME OF CHOMP (SCIENTIFIC AMERICAN, JAN 1973)
8
+ DO YOU WANT THE RULES (1=YES, 0=NO!)? 1
9
+ CHOMP IS FOR 1 OR MORE PLAYERS (HUMANS ONLY).
10
+
11
+ HERE'S HOW A BOARD LOOKS (THIS ONE IS 5 BY 7):
12
+
13
+ 1 2 3 4 5 6 7 8 9
14
+ 1 P * * * * * *
15
+ 2 * * * * * * *
16
+ 3 * * * * * * *
17
+ 4 * * * * * * *
18
+ 5 * * * * * * *
19
+
20
+
21
+ THE BOARD IS A BIG COOKIE - R ROWS HIGH AND C COLUMNS
22
+ WIDE. YOU INPUT R AND C AT THE START. IN THE UPPER LEFT
23
+ CORNER OF THE COOKIE IS A POISON SQUARE (P). THE ONE WHO
24
+ CHOMPS THE POISON SQUARE LOSES. TO TAKE A CHOMP, TYPE THE
25
+ ROW AND COLUMN OF ONE OF THE SQUARES ON THE COOKIE.
26
+ ALL OF THE SQUARES BELOW AND TO THE RIGHT OF THAT SQUARE
27
+ (INCLUDING THAT SQUARE, TOO) DISAPPEAR -- CHOMP!!
28
+ NO FAIR CHOMPING SQUARES THAT HAVE ALREADY BEEN CHOMPED,
29
+ OR THAT ARE OUTSIDE THE ORIGINAL DIMENSIONS OF THE COOKIE.
30
+
31
+ HERE WE GO...
32
+
33
+ HOW MANY PLAYERS? 2
34
+ HOW MANY ROWS? 8
35
+ HOW MANY COLUMNS? 8
36
+
37
+
38
+ 1 2 3 4 5 6 7 8 9
39
+ 1 P * * * * * * *
40
+ 2 * * * * * * * *
41
+ 3 * * * * * * * *
42
+ 4 * * * * * * * *
43
+ 5 * * * * * * * *
44
+ 6 * * * * * * * *
45
+ 7 * * * * * * * *
46
+ 8 * * * * * * * *
47
+
48
+ PLAYER 1
49
+ COORDINATES OF CHOMP (ROW,COLUMN)? 7,5
50
+
51
+ 1 2 3 4 5 6 7 8 9
52
+ 1 P * * * * * * *
53
+ 2 * * * * * * * *
54
+ 3 * * * * * * * *
55
+ 4 * * * * * * * *
56
+ 5 * * * * * * * *
57
+ 6 * * * * * * * *
58
+ 7 * * * *
59
+ 8 * * * *
60
+
61
+ PLAYER 2
62
+ COORDINATES OF CHOMP (ROW,COLUMN)? 4,7
63
+
64
+ 1 2 3 4 5 6 7 8 9
65
+ 1 P * * * * * * *
66
+ 2 * * * * * * * *
67
+ 3 * * * * * * * *
68
+ 4 * * * * * *
69
+ 5 * * * * * *
70
+ 6 * * * * * *
71
+ 7 * * * *
72
+ 8 * * * *
73
+
74
+ PLAYER 1
75
+ COORDINATES OF CHOMP (ROW,COLUMN)? 4,3
76
+
77
+ 1 2 3 4 5 6 7 8 9
78
+ 1 P * * * * * * *
79
+ 2 * * * * * * * *
80
+ 3 * * * * * * * *
81
+ 4 * *
82
+ 5 * *
83
+ 6 * *
84
+ 7 * *
85
+ 8 * *
86
+
87
+ PLAYER 2
88
+ COORDINATES OF CHOMP (ROW,COLUMN)? 1,5
89
+
90
+ 1 2 3 4 5 6 7 8 9
91
+ 1 P * * *
92
+ 2 * * * *
93
+ 3 * * * *
94
+ 4 * *
95
+ 5 * *
96
+ 6 * *
97
+ 7 * *
98
+ 8 * *
99
+
100
+ PLAYER 1
101
+ COORDINATES OF CHOMP (ROW,COLUMN)? 4,2
102
+
103
+ 1 2 3 4 5 6 7 8 9
104
+ 1 P * * *
105
+ 2 * * * *
106
+ 3 * * * *
107
+ 4 *
108
+ 5 *
109
+ 6 *
110
+ 7 *
111
+ 8 *
112
+
113
+ PLAYER 2
114
+ COORDINATES OF CHOMP (ROW,COLUMN)? 2,2
115
+
116
+ 1 2 3 4 5 6 7 8 9
117
+ 1 P * * *
118
+ 2 *
119
+ 3 *
120
+ 4 *
121
+ 5 *
122
+ 6 *
123
+ 7 *
124
+ 8 *
125
+
126
+ PLAYER 1
127
+ COORDINATES OF CHOMP (ROW,COLUMN)? 1,2
128
+
129
+ 1 2 3 4 5 6 7 8 9
130
+ 1 P
131
+ 2 *
132
+ 3 *
133
+ 4 *
134
+ 5 *
135
+ 6 *
136
+ 7 *
137
+ 8 *
138
+
139
+ PLAYER 2
140
+ COORDINATES OF CHOMP (ROW,COLUMN)? 2,8
141
+ NO FAIR. YOU'RE TRYING TO CHOMP ON EMPTY SPACE!
142
+ PLAYER 2
143
+ COORDINATES OF CHOMP (ROW,COLUMN)? 2,1
144
+
145
+ 1 2 3 4 5 6 7 8 9
146
+ 1 P
147
+ 2
148
+ 3
149
+ 4
150
+ 5
151
+ 6
152
+ 7
153
+ 8
154
+
155
+ PLAYER 1
156
+ COORDINATES OF CHOMP (ROW,COLUMN)? 1,1
157
+ YOU LOSE, PLAYER 1
158
+
159
+ AGAIN (1=YES, 0=NO!)? 0
@@ -0,0 +1,124 @@
1
+ 1 PRINT TAB(33);"COMBAT"
2
+ 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 3 PRINT: PRINT: PRINT
4
+ 4 PRINT "I AM AT WAR WITH YOU.": PRINT "WE HAVE 72000 SOLDIERS APIECE."
5
+ 5 PRINT:PRINT "DISTRIBUTE YOUR FORCES."
6
+ 6 PRINT ,"ME"," YOU"
7
+ 7 PRINT "ARMY",30000,
8
+ 8 INPUT A
9
+ 9 PRINT "NAVY",20000,
10
+ 10 INPUT B
11
+ 11 PRINT "A. F.",22000,
12
+ 12 INPUT C
13
+ 13 IF A+B+C>72000 THEN 5
14
+ 14 D=30000
15
+ 15 E=20000
16
+ 16 F=22000
17
+ 17 PRINT "YOU ATTACK FIRST. TYPE (1) FOR ARMY; (2) FOR NAVY;"
18
+ 18 PRINT "AND (3) FOR AIR FORCE."
19
+ 19 INPUT Y
20
+ 20 PRINT "HOW MANY MEN"
21
+ 21 INPUT X
22
+ 22 IF X<0 THEN 20
23
+ 23 ON Y GOTO 100,200,300
24
+ 100 IF X>A THEN 20
25
+ 105 IF X<A/3 THEN 120
26
+ 110 IF X<2*A/3 THEN 150
27
+ 115 GOTO 270
28
+ 120 PRINT "YOU LOST";X;"MEN FROM YOUR ARMY."
29
+ 125 A=INT(A-X)
30
+ 130 GOTO 500
31
+ 150 PRINT "YOU LOST";INT(X/3);"MEN, BUT I LOST ";INT(2*D/3)
32
+ 155 A=INT(A-X/3)
33
+ 160 D=0
34
+ 165 GOTO 500
35
+ 200 IF X>B THEN 20
36
+ 210 IF X<E/3 THEN 230
37
+ 215 IF X<2*E/3 THEN 250
38
+ 220 GOTO 270
39
+ 230 PRINT "YOUR ATTACK WAS STOPPED!"
40
+ 232 B=INT(B-X)
41
+ 235 GOTO 500
42
+ 250 PRINT "YOU DESTROYED";INT(2*E/3);"OF MY ARMY."
43
+ 255 E=INT(E/3)
44
+ 260 GOTO 500
45
+ 270 PRINT "YOU SUNK ONE OF MY PATROL BOATS, BUT I WIPED OUT TWO"
46
+ 275 PRINT "OF YOUR AIR FORCE BASES AND 3 ARMY BASES."
47
+ 280 A=INT(A/3)
48
+ 285 C=INT(C/3)
49
+ 290 E=INT(2*E/3)
50
+ 293 GOTO 500
51
+ 300 IF X>C THEN 20
52
+ 310 IF X<C/3 THEN 350
53
+ 320 IF X<2*C/3 THEN 370
54
+ 330 GOTO 380
55
+ 350 PRINT "YOUR ATTACK WAS WIPED OUT."
56
+ 355 C=INT(C-X)
57
+ 360 GOTO 500
58
+ 370 PRINT "WE HAD A DOGFIGHT. YOU WON - AND FINISHED YOUR MISSION."
59
+ 375 D=INT(2*D/3)
60
+ 377 E=INT(E/3)
61
+ 378 F=INT(F/3)
62
+ 379 GOTO 500
63
+ 380 PRINT "YOU WIPED OUT ONE OF MY ARMY PATROLS, BUT I DESTROYED"
64
+ 381 PRINT "TWO NAVY BASES AND BOMBED THREE ARMY BASES."
65
+ 385 A=INT(A/4)
66
+ 387 B=INT(B/3)
67
+ 390 D=INT(2*D/3)
68
+ 500 PRINT
69
+ 501 PRINT,"YOU","ME"
70
+ 510 PRINT "ARMY",A,D
71
+ 520 PRINT "NAVY",B,E
72
+ 530 PRINT "A. F.",C,F
73
+ 1000 PRINT "WHAT IS YOUR NEXT MOVE?"
74
+ 1010 PRINT "ARMY=1 NAVY=2 AIR FORCE=3"
75
+ 1020 INPUT G
76
+ 1030 PRINT "HOW MANY MEN"
77
+ 1040 INPUT T
78
+ 1045 IF T<0 THEN 1030
79
+ 1050 ON G GOTO 1600,1700,1800
80
+ 1600 IF T>A THEN 1030
81
+ 1610 IF T<D/2 THEN 1630
82
+ 1615 PRINT "YOU DESTROYED MY ARMY!"
83
+ 1616 D=0
84
+ 1617 GOTO 2000
85
+ 1630 PRINT "I WIPED OUT YOUR ATTACK!"
86
+ 1635 A=A-T
87
+ 1640 GOTO 2000
88
+ 1700 IF T>B THEN 1030
89
+ 1710 IF T<E/2 THEN 1750
90
+ 1720 GOTO 1770
91
+ 1750 PRINT "I SUNK TWO OF YOUR BATTLESHIPS, AND MY AIR FORCE"
92
+ 1751 PRINT "WIPED OUT YOUR UNGAURDED CAPITOL."
93
+ 1755 A=A/4
94
+ 1760 B=B/2
95
+ 1765 GOTO 2000
96
+ 1770 PRINT "YOUR NAVY SHOT DOWN THREE OF MY XIII PLANES,"
97
+ 1771 PRINT "AND SUNK THREE BATTLESHIPS."
98
+ 1775 F=2*F/3
99
+ 1780 E=(E/2)
100
+ 1790 GOTO 2000
101
+ 1800 IF T>C THEN 1030
102
+ 1810 IF T>F/2 THEN 1830
103
+ 1820 GOTO 1850
104
+ 1830 PRINT "MY NAVY AND AIR FORCE IN A COMBINED ATTACK LEFT"
105
+ 1831 PRINT "YOUR COUNTRY IN SHAMBLES."
106
+ 1835 A=A/3
107
+ 1837 B=B/3
108
+ 1840 C=C/3
109
+ 1845 GOTO 2000
110
+ 1850 PRINT "ONE OF YOUR PLANES CRASHED INTO MY HOUSE. I AM DEAD."
111
+ 1851 PRINT "MY COUNTRY FELL APART."
112
+ 1860 GOTO 2010
113
+ 2000 PRINT
114
+ 2001 PRINT "FROM THE RESULTS OF BOTH OF YOUR ATTACKS,"
115
+ 2002 IF A+B+C>3/2*(D+E+F) THEN 2010
116
+ 2005 IF A+B+C<2/3*(D+E+F) THEN 2015
117
+ 2006 PRINT "THE TREATY OF PARIS CONCLUDED THAT WE TAKE OUR"
118
+ 2007 PRINT "RESPECTIVE COUNTRIES AND LIVE IN PEACE."
119
+ 2008 GOTO 2020
120
+ 2010 PRINT "YOU WON, OH! SHUCKS!!!!"
121
+ 2012 GOTO 2020
122
+ 2015 PRINT "YOU LOST-I CONQUERED YOUR COUNTRY. IT SERVES YOU"
123
+ 2016 PRINT "RIGHT FOR PLAYING THIS STUPID GAME!!!"
124
+ 2020 END
@@ -0,0 +1,7 @@
1
+ 10000
2
+ 20000
3
+ 42000
4
+ 3
5
+ 20000
6
+ 1
7
+ 10000
@@ -0,0 +1,33 @@
1
+ COMBAT
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ I AM AT WAR WITH YOU.
7
+ WE HAVE 72000 SOLDIERS APIECE.
8
+
9
+ DISTRIBUTE YOUR FORCES.
10
+ ME YOU
11
+ ARMY 30000 ? 10000
12
+ NAVY 20000 ? 20000
13
+ A. F. 22000 ? 42000
14
+ YOU ATTACK FIRST. TYPE (1) FOR ARMY; (2) FOR NAVY;
15
+ AND (3) FOR AIR FORCE.
16
+ ? 3
17
+ HOW MANY MEN
18
+ ? 20000
19
+ WE HAD A DOGFIGHT. YOU WON - AND FINISHED YOUR MISSION.
20
+
21
+ YOU ME
22
+ ARMY 10000 20000
23
+ NAVY 20000 6666
24
+ A. F. 42000 7333
25
+ WHAT IS YOUR NEXT MOVE?
26
+ ARMY=1 NAVY=2 AIR FORCE=3
27
+ ? 1
28
+ HOW MANY MEN
29
+ ? 10000
30
+ YOU DESTROYED MY ARMY!
31
+
32
+ FROM THE RESULTS OF BOTH OF YOUR ATTACKS,
33
+ YOU WON, OH! SHUCKS!!!!
@@ -0,0 +1,82 @@
1
+ 5 PRINT TAB(33);"CRAPS"
2
+ 10 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 12 PRINT:PRINT:PRINT
4
+ 15 LET R=0
5
+ 20 PRINT"2,3,12 ARE LOSERS; 4,5,6,8,9,10 ARE POINTS; 7,11 ARE NATURAL WINNERS."
6
+ 21 LET T=1
7
+ 22 PRINT "PICK A NUMBER AND INPUT TO ROLL DICE";
8
+ 23 INPUT Z
9
+ 24 LET X=(RND(0))
10
+ 25 LET T =T+1
11
+ 26 IF T<=Z GOTO 24
12
+ 27 PRINT"INPUT THE AMOUNT OF YOUR WAGER.";
13
+ 28 INPUT F
14
+ 30 PRINT "I WILL NOW THROW THE DICE"
15
+ 40 LET E=INT(7*RND(1))
16
+ 41 LET S=INT(7*RND(1))
17
+ 42 LET X=E+S
18
+ 50 IF X=7 GOTO 180
19
+ 55 IF X=11 GOTO 180
20
+ 60 IF X=1 GOTO 40
21
+ 62 IF X=2 GOTO 195
22
+ 65 IF X=0 GOTO 40
23
+ 70 IF X=2 GOTO 200
24
+ 80 IF X=3 GOTO 200
25
+ 90 IF X=12 GOTO 200
26
+ 125 IF X=5 GOTO 220
27
+ 130 IF X =6 GOTO 220
28
+ 140 IF X=8 GOTO 220
29
+ 150 IF X=9 GOTO 220
30
+ 160 IF X =10 GOTO 220
31
+ 170 IF X=4 GOTO 220
32
+ 180 PRINT X "- NATURAL....A WINNER!!!!"
33
+ 185 PRINT X"PAYS EVEN MONEY, YOU WIN"F"DOLLARS"
34
+ 190 GOTO 210
35
+ 195 PRINT X"- SNAKE EYES....YOU LOSE."
36
+ 196 PRINT "YOU LOSE"F "DOLLARS."
37
+ 197 LET F=0-F
38
+ 198 GOTO 210
39
+ 200 PRINT X " - CRAPS...YOU LOSE."
40
+ 205 PRINT "YOU LOSE"F"DOLLARS."
41
+ 206 LET F=0-F
42
+ 210 LET R= R+F
43
+ 211 GOTO 320
44
+ 220 PRINT X "IS THE POINT. I WILL ROLL AGAIN"
45
+ 230 LET H=INT(7*RND(1))
46
+ 231 LET Q=INT(7*RND(1))
47
+ 232 LET O=H+Q
48
+ 240 IF O=1 GOTO 230
49
+ 250 IF O=7 GOTO 290
50
+ 255 IF O=0 GOTO 230
51
+ 260 IF O=X GOTO 310
52
+ 270 PRINT O " - NO POINT. I WILL ROLL AGAIN"
53
+ 280 GOTO 230
54
+ 290 PRINT O "- CRAPS. YOU LOSE."
55
+ 291 PRINT "YOU LOSE $"F
56
+ 292 F=0-F
57
+ 293 GOTO 210
58
+ 300 GOTO 320
59
+ 310 PRINT X"- A WINNER.........CONGRATS!!!!!!!!"
60
+ 311 PRINT X "AT 2 TO 1 ODDS PAYS YOU...LET ME SEE..."2*F"DOLLARS"
61
+ 312 LET F=2*F
62
+ 313 GOTO 210
63
+ 320 PRINT " IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2";
64
+ 330 INPUT M
65
+ 331 IF R<0 GOTO 334
66
+ 332 IF R>0 GOTO 336
67
+ 333 IF R=0 GOTO 338
68
+ 334 PRINT "YOU ARE NOW UNDER $";-R
69
+ 335 GOTO 340
70
+ 336 PRINT "YOU ARE NOW AHEAD $";R
71
+ 337 GOTO 340
72
+ 338 PRINT "YOU ARE NOW EVEN AT 0"
73
+ 340 IF M=5 GOTO 27
74
+ 341 IF R<0 GOTO 350
75
+ 342 IF R>0 GOTO 353
76
+ 343 IF R=0 GOTO 355
77
+ 350 PRINT"TOO BAD, YOU ARE IN THE HOLE. COME AGAIN."
78
+ 351 GOTO 360
79
+ 353 PRINT"CONGRATULATIONS---YOU CAME OUT A WINNER. COME AGAIN!"
80
+ 354 GOTO 360
81
+ 355 PRINT"CONGRATULATIONS---YOU CAME OUT EVEN, NOT BAD FOR AN AMATEUR"
82
+ 360 END
@@ -0,0 +1,9 @@
1
+ 4
2
+ 10
3
+ 5
4
+ 10
5
+ 5
6
+ 20
7
+ 5
8
+ 10
9
+ 2