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,51 @@
1
+ CRAPS
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ 2,3,12 ARE LOSERS; 4,5,6,8,9,10 ARE POINTS; 7,11 ARE NATURAL WINNERS.
7
+ PICK A NUMBER AND INPUT TO ROLL DICE? 4
8
+ INPUT THE AMOUNT OF YOUR WAGER.? 10
9
+ I WILL NOW THROW THE DICE
10
+ 8 IS THE POINT. I WILL ROLL AGAIN
11
+ 7 - CRAPS. YOU LOSE.
12
+ YOU LOSE $ 10
13
+ IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2? 5
14
+ YOU ARE NOW UNDER $ 10
15
+ INPUT THE AMOUNT OF YOUR WAGER.? 10
16
+ I WILL NOW THROW THE DICE
17
+ 6 IS THE POINT. I WILL ROLL AGAIN
18
+ 9 - NO POINT. I WILL ROLL AGAIN
19
+ 8 - NO POINT. I WILL ROLL AGAIN
20
+ 8 - NO POINT. I WILL ROLL AGAIN
21
+ 9 - NO POINT. I WILL ROLL AGAIN
22
+ 5 - NO POINT. I WILL ROLL AGAIN
23
+ 11 - NO POINT. I WILL ROLL AGAIN
24
+ 11 - NO POINT. I WILL ROLL AGAIN
25
+ 8 - NO POINT. I WILL ROLL AGAIN
26
+ 4 - NO POINT. I WILL ROLL AGAIN
27
+ 7 - CRAPS. YOU LOSE.
28
+ YOU LOSE $ 10
29
+ IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2? 5
30
+ YOU ARE NOW UNDER $ 20
31
+ INPUT THE AMOUNT OF YOUR WAGER.? 20
32
+ I WILL NOW THROW THE DICE
33
+ 5 IS THE POINT. I WILL ROLL AGAIN
34
+ 6 - NO POINT. I WILL ROLL AGAIN
35
+ 6 - NO POINT. I WILL ROLL AGAIN
36
+ 4 - NO POINT. I WILL ROLL AGAIN
37
+ 8 - NO POINT. I WILL ROLL AGAIN
38
+ 10 - NO POINT. I WILL ROLL AGAIN
39
+ 5 - A WINNER.........CONGRATS!!!!!!!!
40
+ 5 AT 2 TO 1 ODDS PAYS YOU...LET ME SEE... 40 DOLLARS
41
+ IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2? 5
42
+ YOU ARE NOW AHEAD $ 20
43
+ INPUT THE AMOUNT OF YOUR WAGER.? 10
44
+ I WILL NOW THROW THE DICE
45
+ 4 IS THE POINT. I WILL ROLL AGAIN
46
+ 8 - NO POINT. I WILL ROLL AGAIN
47
+ 4 - A WINNER.........CONGRATS!!!!!!!!
48
+ 4 AT 2 TO 1 ODDS PAYS YOU...LET ME SEE... 20 DOLLARS
49
+ IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2? 2
50
+ YOU ARE NOW AHEAD $ 40
51
+ CONGRATULATIONS---YOU CAME OUT A WINNER. COME AGAIN!
@@ -0,0 +1,161 @@
1
+ 10 PRINT TAB(34);"CUBE"
2
+ 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 30 PRINT : PRINT : PRINT
4
+ 100 PRINT "DO YOU WANT TO SEE THE INSTRUCTIONS? (YES--1,NO--0)"
5
+ 110 INPUT B7
6
+ 120 IF B7=0 THEN 370
7
+ 130 PRINT"THIS IS A GAME IN WHICH YOU WILL BE PLAYING AGAINST THE"
8
+ 140 PRINT"RANDOM DECISION OF THE COMPUTER. THE FIELD OF PLAY IS A"
9
+ 150 PRINT"CUBE OF SIDE 3. ANY OF THE 27 LOCATIONS CAN BE DESIGNATED"
10
+ 160 PRINT"BY INPUTING THREE NUMBERS SUCH AS 2,3,1. AT THE START,"
11
+ 170 PRINT"YOU ARE AUTOMATICALLY AT LOCATION 1,1,1. THE OBJECT OF"
12
+ 180 PRINT"THE GAME IS TO GET TO LOCATION 3,3,3. ONE MINOR DETAIL:"
13
+ 190 PRINT"THE COMPUTER WILL PICK, AT RANDOM, 5 LOCATIONS AT WHICH"
14
+ 200 PRINT"IT WILL PLANT LAND MINES. IF YOU HIT ONE OF THESE LOCATIONS"
15
+ 210 PRINT"YOU LOSE. ONE OTHER DETAIL: YOU MAY MOVE ONLY ONE SPACE "
16
+ 220 PRINT"IN ONE DIRECTION EACH MOVE. FOR EXAMPLE: FROM 1,1,2 YOU"
17
+ 230 PRINT"MAY MOVE TO 2,1,2 OR 1,1,3. YOU MAY NOT CHANGE"
18
+ 240 PRINT"TWO OF THE NUMBERS ON THE SAME MOVE. IF YOU MAKE AN ILLEGAL"
19
+ 250 PRINT"MOVE, YOU LOSE AND THE COMPUTER TAKES THE MONEY YOU MAY"
20
+ 260 PRINT"HAVE BET ON THAT ROUND."
21
+ 270 PRINT
22
+ 280 PRINT
23
+ 290 PRINT"ALL YES OR NO QUESTIONS WILL BE ANSWERED BY A 1 FOR YES"
24
+ 300 PRINT"OR A 0 (ZERO) FOR NO."
25
+ 310 PRINT
26
+ 320 PRINT"WHEN STATING THE AMOUNT OF A WAGER, PRINT ONLY THE NUMBER"
27
+ 330 PRINT"OF DOLLARS (EXAMPLE: 250) YOU ARE AUTOMATICALLY STARTED WITH"
28
+ 340 PRINT"500 DOLLARS IN YOUR ACCOUNT."
29
+ 350 PRINT
30
+ 360 PRINT "GOOD LUCK!"
31
+ 370 LET A1=500
32
+ 380 LET A=INT(3*(RND(X)))
33
+ 390 IF A<>0 THEN 410
34
+ 400 LET A=3
35
+ 410 LET B=INT(3*(RND(X)))
36
+ 420 IF B<>0 THEN 440
37
+ 430 LET B=2
38
+ 440 LET C=INT(3*(RND(X)))
39
+ 450 IF C<>0 THEN 470
40
+ 460 LET C=3
41
+ 470 LET D=INT(3*(RND(X)))
42
+ 480 IF D<>0 THEN 500
43
+ 490 LET D=1
44
+ 500 LET E=INT(3*(RND(X)))
45
+ 510 IF E<>0 THEN 530
46
+ 520 LET E=3
47
+ 530 LET F=INT(3*(RND(X)))
48
+ 540 IF F<>0 THEN 560
49
+ 550 LET F=3
50
+ 560 LET G=INT(3*(RND(X)))
51
+ 570 IF G<>0 THEN 590
52
+ 580 LET G=3
53
+ 590 LET H=INT(3*(RND(X)))
54
+ 600 IF H<>0 THEN 620
55
+ 610 LET H=3
56
+ 620 LET I=INT(3*(RND(X)))
57
+ 630 IF I<>0 THEN 650
58
+ 640 LET I=2
59
+ 650 LET J=INT(3*(RND(X)))
60
+ 660 IF J<>0 THEN 680
61
+ 670 LET J=3
62
+ 680 LET K=INT(3*(RND(X)))
63
+ 690 IF K<>0 THEN 710
64
+ 700 LET K=2
65
+ 710 LET L=INT(3*(RND(X)))
66
+ 720 IF L<>0 THEN 740
67
+ 730 LET L=3
68
+ 740 LET M=INT(3*(RND(X)))
69
+ 750 IF M<>0 THEN 770
70
+ 760 LET M=3
71
+ 770 LET N=INT(3*(RND(X)))
72
+ 780 IF N<>0 THEN 800
73
+ 790 LET N=1
74
+ 800 LET O=INT (3*(RND(X)))
75
+ 810 IF O <>0 THEN 830
76
+ 820 LET O=3
77
+ 830 PRINT "WANT TO MAKE A WAGER?"
78
+ 840 INPUT Z
79
+ 850 IF Z=0 THEN 920
80
+ 860 PRINT "HOW MUCH ";
81
+ 870 INPUT Z1
82
+ 876 IF A1<Z1 THEN 1522
83
+ 880 LET W=1
84
+ 890 LET X=1
85
+ 900 LET Y=1
86
+ 910 PRINT
87
+ 920 PRINT "IT'S YOUR MOVE: ";
88
+ 930 INPUT P,Q,R
89
+ 940 IF P>W+1 THEN 1030
90
+ 950 IF P=W+1 THEN 1000
91
+ 960 IF Q>X+1 THEN 1030
92
+ 970 IF Q=(X+1) THEN 1010
93
+ 980 IF R >(Y+1) THEN 1030
94
+ 990 GOTO 1050
95
+ 1000 IF Q>= X+1 THEN 1030
96
+ 1010 IF R>=Y+1 THEN 1030
97
+ 1020 GOTO 1050
98
+ 1030 PRINT:PRINT "ILLEGAL MOVE. YOU LOSE."
99
+ 1040 GOTO 1440
100
+ 1050 LET W=P
101
+ 1060 LET X=Q
102
+ 1070 LET Y=R
103
+ 1080 IF P=3 THEN 1100
104
+ 1090 GOTO 1130
105
+ 1100 IF Q=3 THEN 1120
106
+ 1110 GOTO 1130
107
+ 1120 IF R=3 THEN 1530
108
+ 1130 IF P=A THEN 1150
109
+ 1140 GOTO 1180
110
+ 1150 IF Q=B THEN 1170
111
+ 1160 GOTO 1180
112
+ 1170 IF R=C THEN 1400
113
+ 1180 IF P=D THEN 1200
114
+ 1190 GOTO 1230
115
+ 1200 IF Q=E THEN 1220
116
+ 1210 GOTO 1230
117
+ 1220 IF R=F THEN 1400
118
+ 1230 IF P=G THEN 1250
119
+ 1240 GOTO 1280
120
+ 1250 IF Q=H THEN 1270
121
+ 1260 GOTO 1280
122
+ 1270 IF R=I THEN 1400
123
+ 1280 IF P=J THEN 1300
124
+ 1290 GOTO 1330
125
+ 1300 IF Q=K THEN 1320
126
+ 1310 GOTO 1330
127
+ 1320 IF R=L THEN 1440
128
+ 1330 IF P=M THEN 1350
129
+ 1340 GOTO 1380
130
+ 1350 IF Q=N THEN 1370
131
+ 1360 GOTO 1380
132
+ 1370 IF R=O THEN 1400
133
+ 1380 PRINT "NEXT MOVE: ";
134
+ 1390 GOTO 930
135
+ 1400 PRINT"******BANG******"
136
+ 1410 PRINT "YOU LOSE!"
137
+ 1420 PRINT
138
+ 1430 PRINT
139
+ 1440 IF Z=0 THEN 1580
140
+ 1450 PRINT
141
+ 1460 LET Z2=A1-Z1
142
+ 1470 IF Z2>0 THEN 1500
143
+ 1480 PRINT "YOU BUST."
144
+ 1490 GOTO 1610
145
+ 1500 PRINT " YOU NOW HAVE"; Z2; "DOLLARS."
146
+ 1510 LET A1=Z2
147
+ 1520 GOTO 1580
148
+ 1522 PRINT"TRIED TO FOOL ME; BET AGAIN";
149
+ 1525 GOTO 870
150
+ 1530 PRINT"CONGRATULATIONS!"
151
+ 1540 IF Z=0 THEN 1580
152
+ 1550 LET Z2=A1+Z1
153
+ 1560 PRINT "YOU NOW HAVE"; Z2;"DOLLARS."
154
+ 1570 LET A1=Z2
155
+ 1580 PRINT"DO YOU WANT TO TRY AGAIN ";
156
+ 1590 INPUT S
157
+ 1600 IF S=1 THEN 380
158
+ 1610 PRINT "TOUGH LUCK!"
159
+ 1620 PRINT
160
+ 1630 PRINT "GOODBYE."
161
+ 1640 END
@@ -0,0 +1,25 @@
1
+ 1
2
+ YES
3
+ 1
4
+ 100
5
+ 0,0,1
6
+ 0,0,2
7
+ 0,0,3
8
+ 0,1,3
9
+ 0,2,3
10
+ 0,3,3
11
+ 1,3,3
12
+ YES
13
+ 1
14
+ 100
15
+ 100
16
+ 0,0,1
17
+ 0,0,2
18
+ 0,0,3
19
+ 0,1,3
20
+ 0,2,3
21
+ 0,3,3
22
+ 1,3,3
23
+ 2,3,3
24
+ 3,3,3
25
+ 0
@@ -0,0 +1,72 @@
1
+ CUBE
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ DO YOU WANT TO SEE THE INSTRUCTIONS? (YES--1,NO--0)
7
+ ? 1
8
+ THIS IS A GAME IN WHICH YOU WILL BE PLAYING AGAINST THE
9
+ RANDOM DECISION OF THE COMPUTER. THE FIELD OF PLAY IS A
10
+ CUBE OF SIDE 3. ANY OF THE 27 LOCATIONS CAN BE DESIGNATED
11
+ BY INPUTING THREE NUMBERS SUCH AS 2,3,1. AT THE START,
12
+ YOU ARE AUTOMATICALLY AT LOCATION 1,1,1. THE OBJECT OF
13
+ THE GAME IS TO GET TO LOCATION 3,3,3. ONE MINOR DETAIL:
14
+ THE COMPUTER WILL PICK, AT RANDOM, 5 LOCATIONS AT WHICH
15
+ IT WILL PLANT LAND MINES. IF YOU HIT ONE OF THESE LOCATIONS
16
+ YOU LOSE. ONE OTHER DETAIL: YOU MAY MOVE ONLY ONE SPACE
17
+ IN ONE DIRECTION EACH MOVE. FOR EXAMPLE: FROM 1,1,2 YOU
18
+ MAY MOVE TO 2,1,2 OR 1,1,3. YOU MAY NOT CHANGE
19
+ TWO OF THE NUMBERS ON THE SAME MOVE. IF YOU MAKE AN ILLEGAL
20
+ MOVE, YOU LOSE AND THE COMPUTER TAKES THE MONEY YOU MAY
21
+ HAVE BET ON THAT ROUND.
22
+
23
+
24
+ ALL YES OR NO QUESTIONS WILL BE ANSWERED BY A 1 FOR YES
25
+ OR A 0 (ZERO) FOR NO.
26
+
27
+ WHEN STATING THE AMOUNT OF A WAGER, PRINT ONLY THE NUMBER
28
+ OF DOLLARS (EXAMPLE: 250) YOU ARE AUTOMATICALLY STARTED WITH
29
+ 500 DOLLARS IN YOUR ACCOUNT.
30
+
31
+ GOOD LUCK!
32
+ WANT TO MAKE A WAGER?
33
+ ? YES
34
+ Not numeric: "YES", try again
35
+ ? 1
36
+ HOW MUCH ? 100
37
+
38
+ IT'S YOUR MOVE: ? 0,0,1
39
+ NEXT MOVE: ? 0,0,2
40
+ NEXT MOVE: ? 0,0,3
41
+ NEXT MOVE: ? 0,1,3
42
+ NEXT MOVE: ? 0,2,3
43
+ NEXT MOVE: ? 0,3,3
44
+ NEXT MOVE: ? 1,3,3
45
+ ******BANG******
46
+ YOU LOSE!
47
+
48
+
49
+
50
+ YOU NOW HAVE 400 DOLLARS.
51
+ DO YOU WANT TO TRY AGAIN ? YES
52
+ Not numeric: "YES", try again
53
+ ? 1
54
+ WANT TO MAKE A WAGER?
55
+ ? 100
56
+ HOW MUCH ? 100
57
+
58
+ IT'S YOUR MOVE: ? 0,0,1
59
+ NEXT MOVE: ? 0,0,2
60
+ NEXT MOVE: ? 0,0,3
61
+ NEXT MOVE: ? 0,1,3
62
+ NEXT MOVE: ? 0,2,3
63
+ NEXT MOVE: ? 0,3,3
64
+ NEXT MOVE: ? 1,3,3
65
+ NEXT MOVE: ? 2,3,3
66
+ NEXT MOVE: ? 3,3,3
67
+ CONGRATULATIONS!
68
+ YOU NOW HAVE 500 DOLLARS.
69
+ DO YOU WANT TO TRY AGAIN ? 0
70
+ TOUGH LUCK!
71
+
72
+ GOODBYE.
@@ -0,0 +1,33 @@
1
+ 2 PRINT TAB(30);"DEPTH CHARGE"
2
+ 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 6 PRINT: PRINT: PRINT
4
+ 20 INPUT "DIMENSION OF SEARCH AREA";G: PRINT
5
+ 30 N=INT(LOG(G)/LOG(2))+1
6
+ 40 PRINT "YOU ARE THE CAPTAIN OF THE DESTROYER USS COMPUTER"
7
+ 50 PRINT "AN ENEMY SUB HAS BEEN CAUSING YOU TROUBLE. YOUR"
8
+ 60 PRINT "MISSION IS TO DESTROY IT. YOU HAVE";N;"SHOTS."
9
+ 70 PRINT "SPECIFY DEPTH CHARGE EXPLOSION POINT WITH A"
10
+ 80 PRINT "TRIO OF NUMBERS -- THE FIRST TWO ARE THE"
11
+ 90 PRINT "SURFACE COORDINATES; THE THIRD IS THE DEPTH."
12
+ 100 PRINT : PRINT "GOOD LUCK !": PRINT
13
+ 110 A=INT(G*RND(1)) : B=INT(G*RND(1)) : C=INT(G*RND(1))
14
+ 120 FOR D=1 TO N : PRINT : PRINT "TRIAL #";D; : INPUT X,Y,Z
15
+ 130 IF ABS(X-A)+ABS(Y-B)+ABS(Z-C)=0 THEN 300
16
+ 140 GOSUB 500 : PRINT : NEXT D
17
+ 200 PRINT : PRINT "YOU HAVE BEEN TORPEDOED! ABANDON SHIP!"
18
+ 210 PRINT "THE SUBMARINE WAS AT";A;",";B;",";C : GOTO 400
19
+ 300 PRINT : PRINT "B O O M ! ! YOU FOUND IT IN";D;"TRIES!"
20
+ 400 PRINT : PRINT: INPUT "ANOTHER GAME (Y OR N)";A$
21
+ 410 IF A$="Y" THEN 100
22
+ 420 PRINT "OK. HOPE YOU ENJOYED YOURSELF." : GOTO 600
23
+ 500 PRINT "SONAR REPORTS SHOT WAS ";
24
+ 510 IF Y>B THEN PRINT "NORTH";
25
+ 520 IF Y<B THEN PRINT "SOUTH";
26
+ 530 IF X>A THEN PRINT "EAST";
27
+ 540 IF X<A THEN PRINT "WEST";
28
+ 550 IF Y<>B OR X<>A THEN PRINT " AND";
29
+ 560 IF Z>C THEN PRINT " TOO LOW."
30
+ 570 IF Z<C THEN PRINT " TOO HIGH."
31
+ 580 IF Z=C THEN PRINT " DEPTH OK."
32
+ 590 RETURN
33
+ 600 END
@@ -0,0 +1,16 @@
1
+ 10
2
+ 5,5,5
3
+ 5,8,8
4
+ 5,7,7
5
+ 5,7,6
6
+ Y
7
+ 5,5,5
8
+ 5,2,8
9
+ 5,3,7
10
+ 5,4,6
11
+ Y
12
+ 5,5,5
13
+ 4,4,4
14
+ 3,3,3
15
+ 2,2,2
16
+ N
@@ -0,0 +1,83 @@
1
+ DEPTH CHARGE
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ DIMENSION OF SEARCH AREA? 10
7
+
8
+ YOU ARE THE CAPTAIN OF THE DESTROYER USS COMPUTER
9
+ AN ENEMY SUB HAS BEEN CAUSING YOU TROUBLE. YOUR
10
+ MISSION IS TO DESTROY IT. YOU HAVE 4 SHOTS.
11
+ SPECIFY DEPTH CHARGE EXPLOSION POINT WITH A
12
+ TRIO OF NUMBERS -- THE FIRST TWO ARE THE
13
+ SURFACE COORDINATES; THE THIRD IS THE DEPTH.
14
+
15
+ GOOD LUCK !
16
+
17
+
18
+ TRIAL # 1 ? 5,5,5
19
+ SONAR REPORTS SHOT WAS SOUTH AND TOO HIGH.
20
+
21
+
22
+ TRIAL # 2 ? 5,8,8
23
+ SONAR REPORTS SHOT WAS NORTH AND TOO LOW.
24
+
25
+
26
+ TRIAL # 3 ? 5,7,7
27
+ SONAR REPORTS SHOT WAS TOO LOW.
28
+
29
+
30
+ TRIAL # 4 ? 5,7,6
31
+
32
+ B O O M ! ! YOU FOUND IT IN 4 TRIES!
33
+
34
+
35
+ ANOTHER GAME (Y OR N)? Y
36
+
37
+ GOOD LUCK !
38
+
39
+
40
+ TRIAL # 1 ? 5,5,5
41
+ SONAR REPORTS SHOT WAS NORTH AND TOO HIGH.
42
+
43
+
44
+ TRIAL # 2 ? 5,2,8
45
+ SONAR REPORTS SHOT WAS SOUTH AND TOO LOW.
46
+
47
+
48
+ TRIAL # 3 ? 5,3,7
49
+ SONAR REPORTS SHOT WAS SOUTH AND TOO LOW.
50
+
51
+
52
+ TRIAL # 4 ? 5,4,6
53
+
54
+ B O O M ! ! YOU FOUND IT IN 4 TRIES!
55
+
56
+
57
+ ANOTHER GAME (Y OR N)? Y
58
+
59
+ GOOD LUCK !
60
+
61
+
62
+ TRIAL # 1 ? 5,5,5
63
+ SONAR REPORTS SHOT WAS SOUTHEAST AND TOO HIGH.
64
+
65
+
66
+ TRIAL # 2 ? 4,4,4
67
+ SONAR REPORTS SHOT WAS SOUTH AND TOO HIGH.
68
+
69
+
70
+ TRIAL # 3 ? 3,3,3
71
+ SONAR REPORTS SHOT WAS SOUTHWEST AND TOO HIGH.
72
+
73
+
74
+ TRIAL # 4 ? 2,2,2
75
+ SONAR REPORTS SHOT WAS SOUTHWEST AND TOO HIGH.
76
+
77
+
78
+ YOU HAVE BEEN TORPEDOED! ABANDON SHIP!
79
+ THE SUBMARINE WAS AT 4 , 8 , 9
80
+
81
+
82
+ ANOTHER GAME (Y OR N)? N
83
+ OK. HOPE YOU ENJOYED YOURSELF.
@@ -0,0 +1,27 @@
1
+ 1 PRINT TAB(33);"DIAMOND"
2
+ 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 3 PRINT:PRINT:PRINT
4
+ 4 PRINT "FOR A PRETTY DIAMOND PATTERN,"
5
+ 5 INPUT "TYPE IN AN ODD NUMBER BETWEEN 5 AND 21";R:PRINT
6
+ 6 Q=INT(60/R):A$="CC"
7
+ 8 FOR L=1 TO Q
8
+ 10 X=1:Y=R:Z=2
9
+ 20 FOR N=X TO Y STEP Z
10
+ 25 PRINT TAB((R-N)/2);
11
+ 28 FOR M=1 TO Q
12
+ 29 C=1
13
+ 30 FOR A=1 TO N
14
+ 32 IF C>LEN(A$) THEN PRINT "!";:GOTO 50
15
+ 34 PRINT MID$(A$,C,1);
16
+ 36 C=C+1
17
+ 50 NEXT A
18
+ 53 IF M=Q THEN 60
19
+ 55 PRINT TAB(R*M+(R-N)/2);
20
+ 56 NEXT M
21
+ 60 PRINT
22
+ 70 NEXT N
23
+ 83 IF X<>1 THEN 95
24
+ 85 X=R-2:Y=1:Z=-2
25
+ 90 GOTO 20
26
+ 95 NEXT L
27
+ 99 END
@@ -0,0 +1,65 @@
1
+ DIAMOND
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ FOR A PRETTY DIAMOND PATTERN,
7
+ TYPE IN AN ODD NUMBER BETWEEN 5 AND 21? 19
8
+
9
+ C C C
10
+ CC! CC! CC!
11
+ CC!!! CC!!! CC!!!
12
+ CC!!!!! CC!!!!! CC!!!!!
13
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
14
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
15
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
16
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
17
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
18
+ CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!
19
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
20
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
21
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
22
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
23
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
24
+ CC!!!!! CC!!!!! CC!!!!!
25
+ CC!!! CC!!! CC!!!
26
+ CC! CC! CC!
27
+ C C C
28
+ C C C
29
+ CC! CC! CC!
30
+ CC!!! CC!!! CC!!!
31
+ CC!!!!! CC!!!!! CC!!!!!
32
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
33
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
34
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
35
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
36
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
37
+ CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!
38
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
39
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
40
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
41
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
42
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
43
+ CC!!!!! CC!!!!! CC!!!!!
44
+ CC!!! CC!!! CC!!!
45
+ CC! CC! CC!
46
+ C C C
47
+ C C C
48
+ CC! CC! CC!
49
+ CC!!! CC!!! CC!!!
50
+ CC!!!!! CC!!!!! CC!!!!!
51
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
52
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
53
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
54
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
55
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
56
+ CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!CC!!!!!!!!!!!!!!!!!
57
+ CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!! CC!!!!!!!!!!!!!!!
58
+ CC!!!!!!!!!!!!! CC!!!!!!!!!!!!! CC!!!!!!!!!!!!!
59
+ CC!!!!!!!!!!! CC!!!!!!!!!!! CC!!!!!!!!!!!
60
+ CC!!!!!!!!! CC!!!!!!!!! CC!!!!!!!!!
61
+ CC!!!!!!! CC!!!!!!! CC!!!!!!!
62
+ CC!!!!! CC!!!!! CC!!!!!
63
+ CC!!! CC!!! CC!!!
64
+ CC! CC! CC!
65
+ C C C
@@ -0,0 +1,31 @@
1
+ 2 PRINT TAB(34);"DICE"
2
+ 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
3
+ 6 PRINT:PRINT:PRINT
4
+ 10 DIM F(12)
5
+ 20 REM DANNY FREIDUS
6
+ 30 PRINT "THIS PROGRAM SIMULATES THE ROLLING OF A"
7
+ 40 PRINT "PAIR OF DICE."
8
+ 50 PRINT "YOU ENTER THE NUMBER OF TIMES YOU WANT THE COMPUTER TO"
9
+ 60 PRINT "'ROLL' THE DICE. WATCH OUT, VERY LARGE NUMBERS TAKE"
10
+ 70 PRINT "A LONG TIME. IN PARTICULAR, NUMBERS OVER 5000."
11
+ 80 FOR Q=1 TO 12
12
+ 90 F(Q)=0
13
+ 100 NEXT Q
14
+ 110 PRINT:PRINT "HOW MANY ROLLS";
15
+ 120 INPUT X
16
+ 130 FOR S=1 TO X
17
+ 140 A=INT(6*RND(1)+1)
18
+ 150 B=INT(6*RND(1)+1)
19
+ 160 R=A+B
20
+ 170 F(R)=F(R)+1
21
+ 180 NEXT S
22
+ 185 PRINT
23
+ 190 PRINT "TOTAL SPOTS","NUMBER OF TIMES"
24
+ 200 FOR V=2 TO 12
25
+ 210 PRINT V,F(V)
26
+ 220 NEXT V
27
+ 221 PRINT
28
+ 222 PRINT:PRINT "TRY AGAIN";
29
+ 223 INPUT Z$
30
+ 224 IF Z$="YES" THEN 80
31
+ 240 END
@@ -0,0 +1,4 @@
1
+ 100
2
+ YES
3
+ 50
4
+ NO
@@ -0,0 +1,46 @@
1
+ DICE
2
+ CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
3
+
4
+
5
+
6
+ THIS PROGRAM SIMULATES THE ROLLING OF A
7
+ PAIR OF DICE.
8
+ YOU ENTER THE NUMBER OF TIMES YOU WANT THE COMPUTER TO
9
+ 'ROLL' THE DICE. WATCH OUT, VERY LARGE NUMBERS TAKE
10
+ A LONG TIME. IN PARTICULAR, NUMBERS OVER 5000.
11
+
12
+ HOW MANY ROLLS? 100
13
+
14
+ TOTAL SPOTS NUMBER OF TIMES
15
+ 2 2
16
+ 3 7
17
+ 4 5
18
+ 5 13
19
+ 6 14
20
+ 7 20
21
+ 8 12
22
+ 9 11
23
+ 10 8
24
+ 11 7
25
+ 12 1
26
+
27
+
28
+ TRY AGAIN? YES
29
+
30
+ HOW MANY ROLLS? 50
31
+
32
+ TOTAL SPOTS NUMBER OF TIMES
33
+ 2 1
34
+ 3 1
35
+ 4 5
36
+ 5 6
37
+ 6 7
38
+ 7 9
39
+ 8 8
40
+ 9 4
41
+ 10 5
42
+ 11 2
43
+ 12 2
44
+
45
+
46
+ TRY AGAIN? NO