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.
- checksums.yaml +7 -0
- data/.rspec +2 -0
- data/.simplecov +1 -0
- data/.yardopts +7 -0
- data/Changelog.md +3 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +75 -0
- data/LICENSE.md +9 -0
- data/README.md +193 -0
- data/Rakefile +14 -0
- data/VERSION +1 -0
- data/bin/basic101 +10 -0
- data/lib/basic101/abs_function.rb +19 -0
- data/lib/basic101/argument_checker.rb +61 -0
- data/lib/basic101/arguments.rb +32 -0
- data/lib/basic101/array_reference.rb +52 -0
- data/lib/basic101/asc_function.rb +17 -0
- data/lib/basic101/basic_array.rb +69 -0
- data/lib/basic101/basic_comparisons.rb +20 -0
- data/lib/basic101/basic_float.rb +48 -0
- data/lib/basic101/basic_integer.rb +48 -0
- data/lib/basic101/basic_math.rb +22 -0
- data/lib/basic101/basic_numeric.rb +96 -0
- data/lib/basic101/basic_object.rb +35 -0
- data/lib/basic101/basic_string.rb +85 -0
- data/lib/basic101/binary_operation.rb +32 -0
- data/lib/basic101/binary_operations.rb +26 -0
- data/lib/basic101/built_in_functions.rb +31 -0
- data/lib/basic101/chr_function.rb +17 -0
- data/lib/basic101/cos_function.rb +17 -0
- data/lib/basic101/data_statement.rb +24 -0
- data/lib/basic101/define_function_statement.rb +23 -0
- data/lib/basic101/dim_statement.rb +25 -0
- data/lib/basic101/else_statement.rb +22 -0
- data/lib/basic101/end_statement.rb +13 -0
- data/lib/basic101/endif_statement.rb +19 -0
- data/lib/basic101/errors.rb +50 -0
- data/lib/basic101/exp_function.rb +17 -0
- data/lib/basic101/for_stack.rb +48 -0
- data/lib/basic101/for_statement.rb +57 -0
- data/lib/basic101/function.rb +11 -0
- data/lib/basic101/function_call.rb +32 -0
- data/lib/basic101/function_identifier.rb +8 -0
- data/lib/basic101/functions.rb +39 -0
- data/lib/basic101/gosub_statement.rb +23 -0
- data/lib/basic101/goto_statement.rb +23 -0
- data/lib/basic101/identifier.rb +23 -0
- data/lib/basic101/identity.rb +18 -0
- data/lib/basic101/if_statement.rb +31 -0
- data/lib/basic101/input.rb +44 -0
- data/lib/basic101/input_reader.rb +55 -0
- data/lib/basic101/input_statement.rb +46 -0
- data/lib/basic101/int_function.rb +17 -0
- data/lib/basic101/left_function.rb +19 -0
- data/lib/basic101/len_function.rb +18 -0
- data/lib/basic101/let_statement.rb +24 -0
- data/lib/basic101/line.rb +32 -0
- data/lib/basic101/log_function.rb +17 -0
- data/lib/basic101/main.rb +24 -0
- data/lib/basic101/mid_function.rb +20 -0
- data/lib/basic101/negate_operation.rb +21 -0
- data/lib/basic101/next_statement.rb +34 -0
- data/lib/basic101/not_operation.rb +23 -0
- data/lib/basic101/null_prompt_delimeter.rb +12 -0
- data/lib/basic101/null_transcript.rb +20 -0
- data/lib/basic101/numeric_identifier.rb +16 -0
- data/lib/basic101/on_goto_statement.rb +29 -0
- data/lib/basic101/output.rb +73 -0
- data/lib/basic101/parser.rb +457 -0
- data/lib/basic101/power_operation.rb +24 -0
- data/lib/basic101/print_comma.rb +20 -0
- data/lib/basic101/print_semicolon.rb +19 -0
- data/lib/basic101/print_statement.rb +33 -0
- data/lib/basic101/program.rb +100 -0
- data/lib/basic101/program_counter.rb +52 -0
- data/lib/basic101/prompt_delimeter.rb +13 -0
- data/lib/basic101/randomize_statement.rb +13 -0
- data/lib/basic101/read_statement.rb +25 -0
- data/lib/basic101/reference.rb +25 -0
- data/lib/basic101/remark_statement.rb +12 -0
- data/lib/basic101/restore_statement.rb +23 -0
- data/lib/basic101/return_statement.rb +16 -0
- data/lib/basic101/right_function.rb +19 -0
- data/lib/basic101/rnd_function.rb +24 -0
- data/lib/basic101/runtime.rb +132 -0
- data/lib/basic101/scalar_reference.rb +19 -0
- data/lib/basic101/sgn_function.rb +17 -0
- data/lib/basic101/sin_function.rb +17 -0
- data/lib/basic101/sqr_function.rb +17 -0
- data/lib/basic101/statement.rb +36 -0
- data/lib/basic101/stop_statement.rb +14 -0
- data/lib/basic101/str_function.rb +16 -0
- data/lib/basic101/string_identifier.rb +16 -0
- data/lib/basic101/tab.rb +18 -0
- data/lib/basic101/tab_function.rb +17 -0
- data/lib/basic101/tan_function.rb +17 -0
- data/lib/basic101/transcript.rb +37 -0
- data/lib/basic101/transform.rb +264 -0
- data/lib/basic101/user_defined_function.rb +54 -0
- data/lib/basic101/val_function.rb +16 -0
- data/lib/basic101.rb +93 -0
- data/rake_tasks/default.rake +1 -0
- data/rake_tasks/integration.rake +8 -0
- data/rake_tasks/jeweler.rake +28 -0
- data/rake_tasks/spec.rake +8 -0
- data/rake_tasks/test.rake +2 -0
- data/rake_tasks/yard.rake +3 -0
- data/test/integration/arguments.rb +25 -0
- data/test/integration/errors.rb +7 -0
- data/test/integration/integration_test.rb +28 -0
- data/test/integration/main.rb +49 -0
- data/test/integration/output_file.rb +40 -0
- data/test/integration/test.rb +135 -0
- data/test/integration/tests/basic_computer_games/23-match.bas +64 -0
- data/test/integration/tests/basic_computer_games/23-match.input +1 -0
- data/test/integration/tests/basic_computer_games/23-match.output +29 -0
- data/test/integration/tests/basic_computer_games/3dplot.bas +17 -0
- data/test/integration/tests/basic_computer_games/3dplot.input +0 -0
- data/test/integration/tests/basic_computer_games/3dplot.output +47 -0
- data/test/integration/tests/basic_computer_games/aceyducy.bas +100 -0
- data/test/integration/tests/basic_computer_games/aceyducy.input +8 -0
- data/test/integration/tests/basic_computer_games/aceyducy.output +78 -0
- data/test/integration/tests/basic_computer_games/amazing.bas +138 -0
- data/test/integration/tests/basic_computer_games/amazing.input +1 -0
- data/test/integration/tests/basic_computer_games/amazing.output +32 -0
- data/test/integration/tests/basic_computer_games/animal.bas +71 -0
- data/test/integration/tests/basic_computer_games/animal.input +17 -0
- data/test/integration/tests/basic_computer_games/animal.output +38 -0
- data/test/integration/tests/basic_computer_games/awari.bas +70 -0
- data/test/integration/tests/basic_computer_games/awari.input +11 -0
- data/test/integration/tests/basic_computer_games/awari.output +117 -0
- data/test/integration/tests/basic_computer_games/bagels.bas +81 -0
- data/test/integration/tests/basic_computer_games/bagels.input +12 -0
- data/test/integration/tests/basic_computer_games/bagels.output +42 -0
- data/test/integration/tests/basic_computer_games/banner.bas +94 -0
- data/test/integration/tests/basic_computer_games/banner.input +6 -0
- data/test/integration/tests/basic_computer_games/banner.output +135 -0
- data/test/integration/tests/basic_computer_games/basketbl.bas +196 -0
- data/test/integration/tests/basic_computer_games/basketbl.input +46 -0
- data/test/integration/tests/basic_computer_games/basketbl.output +509 -0
- data/test/integration/tests/basic_computer_games/batnum.bas +90 -0
- data/test/integration/tests/basic_computer_games/batnum.input +14 -0
- data/test/integration/tests/basic_computer_games/batnum.output +67 -0
- data/test/integration/tests/basic_computer_games/battle.bas +196 -0
- data/test/integration/tests/basic_computer_games/battle.input +21 -0
- data/test/integration/tests/basic_computer_games/battle.output +118 -0
- data/test/integration/tests/basic_computer_games/blackjck.bas +321 -0
- data/test/integration/tests/basic_computer_games/blackjck.input +26 -0
- data/test/integration/tests/basic_computer_games/blackjck.output +144 -0
- data/test/integration/tests/basic_computer_games/bombard.bas +93 -0
- data/test/integration/tests/basic_computer_games/bombard.input +20 -0
- data/test/integration/tests/basic_computer_games/bombard.output +175 -0
- data/test/integration/tests/basic_computer_games/bounce.bas +53 -0
- data/test/integration/tests/basic_computer_games/bounce.input +0 -0
- data/test/integration/tests/basic_computer_games/bounce.output +15 -0
- data/test/integration/tests/basic_computer_games/bowling.bas +101 -0
- data/test/integration/tests/basic_computer_games/bowling.input +23 -0
- data/test/integration/tests/basic_computer_games/bowling.output +229 -0
- data/test/integration/tests/basic_computer_games/boxing.bas +142 -0
- data/test/integration/tests/basic_computer_games/boxing.input +8 -0
- data/test/integration/tests/basic_computer_games/boxing.output +47 -0
- data/test/integration/tests/basic_computer_games/bug.bas +256 -0
- data/test/integration/tests/basic_computer_games/bug.input +17 -0
- data/test/integration/tests/basic_computer_games/bug.output +847 -0
- data/test/integration/tests/basic_computer_games/bullfght.bas +193 -0
- data/test/integration/tests/basic_computer_games/bullfght.input +4 -0
- data/test/integration/tests/basic_computer_games/bullfght.output +60 -0
- data/test/integration/tests/basic_computer_games/bullseye.bas +37 -0
- data/test/integration/tests/basic_computer_games/bullseye.input +10 -0
- data/test/integration/tests/basic_computer_games/bullseye.output +79 -0
- data/test/integration/tests/basic_computer_games/bunny.bas +40 -0
- data/test/integration/tests/basic_computer_games/bunny.input +0 -0
- data/test/integration/tests/basic_computer_games/bunny.output +67 -0
- data/test/integration/tests/basic_computer_games/buzzword.bas +25 -0
- data/test/integration/tests/basic_computer_games/buzzword.input +4 -0
- data/test/integration/tests/basic_computer_games/buzzword.output +25 -0
- data/test/integration/tests/basic_computer_games/calendar.bas +58 -0
- data/test/integration/tests/basic_computer_games/calendar.input +0 -0
- data/test/integration/tests/basic_computer_games/calendar.output +213 -0
- data/test/integration/tests/basic_computer_games/change.bas +51 -0
- data/test/integration/tests/basic_computer_games/change.input +4 -0
- data/test/integration/tests/basic_computer_games/change.output +28 -0
- data/test/integration/tests/basic_computer_games/checkers.bas +82 -0
- data/test/integration/tests/basic_computer_games/checkers.input +74 -0
- data/test/integration/tests/basic_computer_games/checkers.output +673 -0
- data/test/integration/tests/basic_computer_games/chemist.bas +27 -0
- data/test/integration/tests/basic_computer_games/chemist.input +11 -0
- data/test/integration/tests/basic_computer_games/chemist.output +54 -0
- data/test/integration/tests/basic_computer_games/chief.bas +51 -0
- data/test/integration/tests/basic_computer_games/chief.input +5 -0
- data/test/integration/tests/basic_computer_games/chief.output +19 -0
- data/test/integration/tests/basic_computer_games/chomp.bas +104 -0
- data/test/integration/tests/basic_computer_games/chomp.input +15 -0
- data/test/integration/tests/basic_computer_games/chomp.output +159 -0
- data/test/integration/tests/basic_computer_games/combat.bas +124 -0
- data/test/integration/tests/basic_computer_games/combat.input +7 -0
- data/test/integration/tests/basic_computer_games/combat.output +33 -0
- data/test/integration/tests/basic_computer_games/craps.bas +82 -0
- data/test/integration/tests/basic_computer_games/craps.input +9 -0
- data/test/integration/tests/basic_computer_games/craps.output +51 -0
- data/test/integration/tests/basic_computer_games/cube.bas +161 -0
- data/test/integration/tests/basic_computer_games/cube.input +25 -0
- data/test/integration/tests/basic_computer_games/cube.output +72 -0
- data/test/integration/tests/basic_computer_games/depthchg.bas +33 -0
- data/test/integration/tests/basic_computer_games/depthchg.input +16 -0
- data/test/integration/tests/basic_computer_games/depthchg.output +83 -0
- data/test/integration/tests/basic_computer_games/diamond.bas +27 -0
- data/test/integration/tests/basic_computer_games/diamond.input +1 -0
- data/test/integration/tests/basic_computer_games/diamond.output +65 -0
- data/test/integration/tests/basic_computer_games/dice.bas +31 -0
- data/test/integration/tests/basic_computer_games/dice.input +4 -0
- data/test/integration/tests/basic_computer_games/dice.output +46 -0
- data/test/integration/tests/basic_computer_games/digits.bas +78 -0
- data/test/integration/tests/basic_computer_games/digits.input +5 -0
- data/test/integration/tests/basic_computer_games/digits.output +70 -0
- data/test/integration/tests/basic_computer_games/evenwin1.bas +128 -0
- data/test/integration/tests/basic_computer_games/evenwin1.input +13 -0
- data/test/integration/tests/basic_computer_games/evenwin1.output +116 -0
- data/test/integration/tests/basic_computer_games/evenwin2.bas +70 -0
- data/test/integration/tests/basic_computer_games/evenwin2.input +14 -0
- data/test/integration/tests/basic_computer_games/evenwin2.output +56 -0
- data/test/integration/tests/basic_computer_games/flipflop.bas +79 -0
- data/test/integration/tests/basic_computer_games/flipflop.input +8 -0
- data/test/integration/tests/basic_computer_games/flipflop.output +45 -0
- data/test/integration/tests/basic_computer_games/footbal1.bas +298 -0
- data/test/integration/tests/basic_computer_games/footbal1.input +13 -0
- data/test/integration/tests/basic_computer_games/footbal1.output +315 -0
- data/test/integration/tests/basic_computer_games/footbal2.bas +181 -0
- data/test/integration/tests/basic_computer_games/footbal2.input +23 -0
- data/test/integration/tests/basic_computer_games/footbal2.output +318 -0
- data/test/integration/tests/basic_computer_games/furtradr.bas +170 -0
- data/test/integration/tests/basic_computer_games/furtradr.input +20 -0
- data/test/integration/tests/basic_computer_games/furtradr.output +133 -0
- data/test/integration/tests/basic_computer_games/golf.bas +244 -0
- data/test/integration/tests/basic_computer_games/golf.input +11 -0
- data/test/integration/tests/basic_computer_games/golf.output +69 -0
- data/test/integration/tests/basic_computer_games/gomoko.bas +54 -0
- data/test/integration/tests/basic_computer_games/gomoko.input +6 -0
- data/test/integration/tests/basic_computer_games/gomoko.output +66 -0
- data/test/integration/tests/basic_computer_games/guess.bas +40 -0
- data/test/integration/tests/basic_computer_games/guess.input +8 -0
- data/test/integration/tests/basic_computer_games/guess.output +37 -0
- data/test/integration/tests/basic_computer_games/gunner.bas +52 -0
- data/test/integration/tests/basic_computer_games/gunner.input +18 -0
- data/test/integration/tests/basic_computer_games/gunner.output +91 -0
- data/test/integration/tests/basic_computer_games/hamurabi.bas +119 -0
- data/test/integration/tests/basic_computer_games/hamurabi.input +7 -0
- data/test/integration/tests/basic_computer_games/hamurabi.output +51 -0
- data/test/integration/tests/basic_computer_games/hangman.bas +81 -0
- data/test/integration/tests/basic_computer_games/hangman.input +69 -0
- data/test/integration/tests/basic_computer_games/hangman.output +889 -0
- data/test/integration/tests/basic_computer_games/hello.bas +83 -0
- data/test/integration/tests/basic_computer_games/hello.input +7 -0
- data/test/integration/tests/basic_computer_games/hello.output +46 -0
- data/test/integration/tests/basic_computer_games/hexapawn.bas +174 -0
- data/test/integration/tests/basic_computer_games/hexapawn.input +38 -0
- data/test/integration/tests/basic_computer_games/hexapawn.output +521 -0
- data/test/integration/tests/basic_computer_games/hi-q.bas +135 -0
- data/test/integration/tests/basic_computer_games/hi-q.input +14 -0
- data/test/integration/tests/basic_computer_games/hi-q.output +115 -0
- data/test/integration/tests/basic_computer_games/hilo.bas +29 -0
- data/test/integration/tests/basic_computer_games/hilo.input +20 -0
- data/test/integration/tests/basic_computer_games/hilo.output +76 -0
- data/test/integration/tests/basic_computer_games/hockey.bas +210 -0
- data/test/integration/tests/basic_computer_games/hockey.input +59 -0
- data/test/integration/tests/basic_computer_games/hockey.output +243 -0
- data/test/integration/tests/basic_computer_games/horsrace.bas +130 -0
- data/test/integration/tests/basic_computer_games/horsrace.input +11 -0
- data/test/integration/tests/basic_computer_games/horsrace.output +517 -0
- data/test/integration/tests/basic_computer_games/hurkle.bas +51 -0
- data/test/integration/tests/basic_computer_games/hurkle.input +16 -0
- data/test/integration/tests/basic_computer_games/hurkle.output +81 -0
- data/test/integration/tests/basic_computer_games/kinema.bas +34 -0
- data/test/integration/tests/basic_computer_games/kinema.input +9 -0
- data/test/integration/tests/basic_computer_games/kinema.output +64 -0
- data/test/integration/tests/basic_computer_games/king.bas +268 -0
- data/test/integration/tests/basic_computer_games/king.input +7 -0
- data/test/integration/tests/basic_computer_games/king.output +57 -0
- data/test/integration/tests/basic_computer_games/lem.bas +246 -0
- data/test/integration/tests/basic_computer_games/lem.input +4 -0
- data/test/integration/tests/basic_computer_games/lem.output +68 -0
- data/test/integration/tests/basic_computer_games/letter.bas +26 -0
- data/test/integration/tests/basic_computer_games/letter.input +24 -0
- data/test/integration/tests/basic_computer_games/letter.output +123 -0
- data/test/integration/tests/basic_computer_games/life.bas +66 -0
- data/test/integration/tests/basic_computer_games/life.input +4 -0
- data/test/integration/tests/basic_computer_games/life.options +1 -0
- data/test/integration/tests/basic_computer_games/life.output +200 -0
- data/test/integration/tests/basic_computer_games/life2.bas +83 -0
- data/test/integration/tests/basic_computer_games/life2.input +17 -0
- data/test/integration/tests/basic_computer_games/life2.output +113 -0
- data/test/integration/tests/basic_computer_games/litquiz.bas +49 -0
- data/test/integration/tests/basic_computer_games/litquiz.input +4 -0
- data/test/integration/tests/basic_computer_games/litquiz.output +36 -0
- data/test/integration/tests/basic_computer_games/love.bas +34 -0
- data/test/integration/tests/basic_computer_games/love.input +1 -0
- data/test/integration/tests/basic_computer_games/love.output +67 -0
- data/test/integration/tests/basic_computer_games/lunar.bas +48 -0
- data/test/integration/tests/basic_computer_games/lunar.input +87 -0
- data/test/integration/tests/basic_computer_games/lunar.output +195 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.bas +232 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.input +18 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.output +67 -0
- data/test/integration/tests/basic_computer_games/mathdice.bas +60 -0
- data/test/integration/tests/basic_computer_games/mathdice.input +4 -0
- data/test/integration/tests/basic_computer_games/mathdice.output +86 -0
- data/test/integration/tests/basic_computer_games/mugwump.bas +56 -0
- data/test/integration/tests/basic_computer_games/mugwump.input +16 -0
- data/test/integration/tests/basic_computer_games/mugwump.output +139 -0
- data/test/integration/tests/basic_computer_games/name.bas +25 -0
- data/test/integration/tests/basic_computer_games/name.input +2 -0
- data/test/integration/tests/basic_computer_games/name.output +22 -0
- data/test/integration/tests/basic_computer_games/nicoma.bas +34 -0
- data/test/integration/tests/basic_computer_games/nicoma.input +8 -0
- data/test/integration/tests/basic_computer_games/nicoma.output +36 -0
- data/test/integration/tests/basic_computer_games/nim.bas +156 -0
- data/test/integration/tests/basic_computer_games/nim.input +8 -0
- data/test/integration/tests/basic_computer_games/nim.output +30 -0
- data/test/integration/tests/basic_computer_games/number.bas +37 -0
- data/test/integration/tests/basic_computer_games/number.input +19 -0
- data/test/integration/tests/basic_computer_games/number.output +73 -0
- data/test/integration/tests/basic_computer_games/onecheck.bas +86 -0
- data/test/integration/tests/basic_computer_games/onecheck.input +6 -0
- data/test/integration/tests/basic_computer_games/onecheck.output +77 -0
- data/test/integration/tests/basic_computer_games/orbit.bas +96 -0
- data/test/integration/tests/basic_computer_games/orbit.input +10 -0
- data/test/integration/tests/basic_computer_games/orbit.output +113 -0
- data/test/integration/tests/basic_computer_games/pizza.bas +68 -0
- data/test/integration/tests/basic_computer_games/pizza.input +10 -0
- data/test/integration/tests/basic_computer_games/pizza.output +93 -0
- data/test/integration/tests/basic_computer_games/poetry.bas +42 -0
- data/test/integration/tests/basic_computer_games/poetry.input +0 -0
- data/test/integration/tests/basic_computer_games/poetry.options +1 -0
- data/test/integration/tests/basic_computer_games/poetry.output +50 -0
- data/test/integration/tests/basic_computer_games/poker.bas +416 -0
- data/test/integration/tests/basic_computer_games/poker.input +34 -0
- data/test/integration/tests/basic_computer_games/poker.output +197 -0
- data/test/integration/tests/basic_computer_games/queen.bas +168 -0
- data/test/integration/tests/basic_computer_games/queen.input +10 -0
- data/test/integration/tests/basic_computer_games/queen.output +133 -0
- data/test/integration/tests/basic_computer_games/reverse.bas +62 -0
- data/test/integration/tests/basic_computer_games/reverse.input +12 -0
- data/test/integration/tests/basic_computer_games/reverse.output +79 -0
- data/test/integration/tests/basic_computer_games/rocket.bas +71 -0
- data/test/integration/tests/basic_computer_games/rocket.input +42 -0
- data/test/integration/tests/basic_computer_games/rocket.output +149 -0
- data/test/integration/tests/basic_computer_games/rocksp.bas +33 -0
- data/test/integration/tests/basic_computer_games/rocksp.input +9 -0
- data/test/integration/tests/basic_computer_games/rocksp.output +69 -0
- data/test/integration/tests/basic_computer_games/roulette.bas +239 -0
- data/test/integration/tests/basic_computer_games/roulette.input +9 -0
- data/test/integration/tests/basic_computer_games/roulette.output +98 -0
- data/test/integration/tests/basic_computer_games/rusrou.bas +26 -0
- data/test/integration/tests/basic_computer_games/rusrou.input +9 -0
- data/test/integration/tests/basic_computer_games/rusrou.output +50 -0
- data/test/integration/tests/basic_computer_games/salvo.bas +329 -0
- data/test/integration/tests/basic_computer_games/salvo.input +21 -0
- data/test/integration/tests/basic_computer_games/salvo.output +49 -0
- data/test/integration/tests/basic_computer_games/sinewave.bas +17 -0
- data/test/integration/tests/basic_computer_games/sinewave.input +0 -0
- data/test/integration/tests/basic_computer_games/sinewave.output +168 -0
- data/test/integration/tests/basic_computer_games/slalom.bas +165 -0
- data/test/integration/tests/basic_computer_games/slalom.input +20 -0
- data/test/integration/tests/basic_computer_games/slalom.output +122 -0
- data/test/integration/tests/basic_computer_games/slots.bas +134 -0
- data/test/integration/tests/basic_computer_games/slots.input +2 -0
- data/test/integration/tests/basic_computer_games/slots.output +20 -0
- data/test/integration/tests/basic_computer_games/splat.bas +128 -0
- data/test/integration/tests/basic_computer_games/splat.input +9 -0
- data/test/integration/tests/basic_computer_games/splat.output +61 -0
- data/test/integration/tests/basic_computer_games/stars.bas +54 -0
- data/test/integration/tests/basic_computer_games/stars.input +15 -0
- data/test/integration/tests/basic_computer_games/stars.output +70 -0
- data/test/integration/tests/basic_computer_games/stock.bas +232 -0
- data/test/integration/tests/basic_computer_games/stock.input +30 -0
- data/test/integration/tests/basic_computer_games/stock.output +156 -0
- data/test/integration/tests/basic_computer_games/superstartrek.bas +425 -0
- data/test/integration/tests/basic_computer_games/superstartrek.input +21 -0
- data/test/integration/tests/basic_computer_games/superstartrek.output +151 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.bas +127 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.input +1 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.output +134 -0
- data/test/integration/tests/basic_computer_games/synonym.bas +53 -0
- data/test/integration/tests/basic_computer_games/synonym.input +13 -0
- data/test/integration/tests/basic_computer_games/synonym.output +57 -0
- data/test/integration/tests/basic_computer_games/target.bas +51 -0
- data/test/integration/tests/basic_computer_games/target.input +2 -0
- data/test/integration/tests/basic_computer_games/target.output +39 -0
- data/test/integration/tests/basic_computer_games/tictac1.bas +69 -0
- data/test/integration/tests/basic_computer_games/tictac1.input +10 -0
- data/test/integration/tests/basic_computer_games/tictac1.output +49 -0
- data/test/integration/tests/basic_computer_games/tictac2.bas +114 -0
- data/test/integration/tests/basic_computer_games/tictac2.input +6 -0
- data/test/integration/tests/basic_computer_games/tictac2.output +104 -0
- data/test/integration/tests/basic_computer_games/towers.bas +125 -0
- data/test/integration/tests/basic_computer_games/towers.input +9 -0
- data/test/integration/tests/basic_computer_games/towers.output +70 -0
- data/test/integration/tests/basic_computer_games/train.bas +24 -0
- data/test/integration/tests/basic_computer_games/train.input +4 -0
- data/test/integration/tests/basic_computer_games/train.output +23 -0
- data/test/integration/tests/basic_computer_games/trap.bas +49 -0
- data/test/integration/tests/basic_computer_games/trap.input +7 -0
- data/test/integration/tests/basic_computer_games/trap.output +40 -0
- data/test/integration/tests/basic_computer_games/war.bas +68 -0
- data/test/integration/tests/basic_computer_games/war.input +11 -0
- data/test/integration/tests/basic_computer_games/war.output +54 -0
- data/test/integration/tests/basic_computer_games/weekday.bas +150 -0
- data/test/integration/tests/basic_computer_games/weekday.input +2 -0
- data/test/integration/tests/basic_computer_games/weekday.output +28 -0
- data/test/integration/tests/basic_computer_games/word.bas +65 -0
- data/test/integration/tests/basic_computer_games/word.input +6 -0
- data/test/integration/tests/basic_computer_games/word.output +0 -0
- data/test/integration/tests/fast/abs.bas +5 -0
- data/test/integration/tests/fast/abs.input +0 -0
- data/test/integration/tests/fast/abs.output +5 -0
- data/test/integration/tests/fast/add.bas +5 -0
- data/test/integration/tests/fast/add.input +0 -0
- data/test/integration/tests/fast/add.output +5 -0
- data/test/integration/tests/fast/and.bas +5 -0
- data/test/integration/tests/fast/and.input +0 -0
- data/test/integration/tests/fast/and.output +5 -0
- data/test/integration/tests/fast/array.bas +11 -0
- data/test/integration/tests/fast/array.input +0 -0
- data/test/integration/tests/fast/array.output +6 -0
- data/test/integration/tests/fast/asc.bas +1 -0
- data/test/integration/tests/fast/asc.input +0 -0
- data/test/integration/tests/fast/asc.output +1 -0
- data/test/integration/tests/fast/chr.bas +1 -0
- data/test/integration/tests/fast/chr.input +0 -0
- data/test/integration/tests/fast/chr.output +1 -0
- data/test/integration/tests/fast/cos.bas +1 -0
- data/test/integration/tests/fast/cos.input +0 -0
- data/test/integration/tests/fast/cos.output +1 -0
- data/test/integration/tests/fast/def_fn.bas +9 -0
- data/test/integration/tests/fast/def_fn.input +0 -0
- data/test/integration/tests/fast/def_fn.output +5 -0
- data/test/integration/tests/fast/divide.bas +5 -0
- data/test/integration/tests/fast/divide.input +0 -0
- data/test/integration/tests/fast/divide.output +5 -0
- data/test/integration/tests/fast/end.bas +3 -0
- data/test/integration/tests/fast/end.input +0 -0
- data/test/integration/tests/fast/end.output +1 -0
- data/test/integration/tests/fast/eq.bas +3 -0
- data/test/integration/tests/fast/eq.input +0 -0
- data/test/integration/tests/fast/eq.output +3 -0
- data/test/integration/tests/fast/exp.bas +2 -0
- data/test/integration/tests/fast/exp.input +0 -0
- data/test/integration/tests/fast/exp.output +2 -0
- data/test/integration/tests/fast/float.bas +3 -0
- data/test/integration/tests/fast/float.input +0 -0
- data/test/integration/tests/fast/float.output +2 -0
- data/test/integration/tests/fast/for_next.bas +61 -0
- data/test/integration/tests/fast/for_next.input +0 -0
- data/test/integration/tests/fast/for_next.output +46 -0
- data/test/integration/tests/fast/ge.bas +3 -0
- data/test/integration/tests/fast/ge.input +0 -0
- data/test/integration/tests/fast/ge.output +3 -0
- data/test/integration/tests/fast/gosub_return.bas +10 -0
- data/test/integration/tests/fast/gosub_return.input +0 -0
- data/test/integration/tests/fast/gosub_return.output +4 -0
- data/test/integration/tests/fast/goto.bas +3 -0
- data/test/integration/tests/fast/goto.input +0 -0
- data/test/integration/tests/fast/goto.output +1 -0
- data/test/integration/tests/fast/gt.bas +3 -0
- data/test/integration/tests/fast/gt.input +0 -0
- data/test/integration/tests/fast/gt.output +3 -0
- data/test/integration/tests/fast/if.bas +25 -0
- data/test/integration/tests/fast/if.input +0 -0
- data/test/integration/tests/fast/if.output +8 -0
- data/test/integration/tests/fast/input.bas +24 -0
- data/test/integration/tests/fast/input.input +10 -0
- data/test/integration/tests/fast/input.output +28 -0
- data/test/integration/tests/fast/int.bas +5 -0
- data/test/integration/tests/fast/int.input +0 -0
- data/test/integration/tests/fast/int.output +5 -0
- data/test/integration/tests/fast/integer_plus_string.bas +1 -0
- data/test/integration/tests/fast/integer_plus_string.input +0 -0
- data/test/integration/tests/fast/integer_plus_string.output +1 -0
- data/test/integration/tests/fast/invalid_argument.bas +1 -0
- data/test/integration/tests/fast/invalid_argument.input +0 -0
- data/test/integration/tests/fast/invalid_argument.output +1 -0
- data/test/integration/tests/fast/le.bas +3 -0
- data/test/integration/tests/fast/le.input +0 -0
- data/test/integration/tests/fast/le.output +3 -0
- data/test/integration/tests/fast/left.bas +1 -0
- data/test/integration/tests/fast/left.input +0 -0
- data/test/integration/tests/fast/left.output +1 -0
- data/test/integration/tests/fast/len.bas +2 -0
- data/test/integration/tests/fast/len.input +0 -0
- data/test/integration/tests/fast/len.output +2 -0
- data/test/integration/tests/fast/let.bas +6 -0
- data/test/integration/tests/fast/let.input +0 -0
- data/test/integration/tests/fast/let.output +4 -0
- data/test/integration/tests/fast/log.bas +1 -0
- data/test/integration/tests/fast/log.input +0 -0
- data/test/integration/tests/fast/log.output +1 -0
- data/test/integration/tests/fast/lt.bas +3 -0
- data/test/integration/tests/fast/lt.input +0 -0
- data/test/integration/tests/fast/lt.output +3 -0
- data/test/integration/tests/fast/math.output +0 -0
- data/test/integration/tests/fast/mid.bas +2 -0
- data/test/integration/tests/fast/mid.input +0 -0
- data/test/integration/tests/fast/mid.output +2 -0
- data/test/integration/tests/fast/multiply.bas +5 -0
- data/test/integration/tests/fast/multiply.input +0 -0
- data/test/integration/tests/fast/multiply.output +5 -0
- data/test/integration/tests/fast/ne.bas +3 -0
- data/test/integration/tests/fast/ne.input +0 -0
- data/test/integration/tests/fast/ne.output +3 -0
- data/test/integration/tests/fast/negate.bas +4 -0
- data/test/integration/tests/fast/negate.input +0 -0
- data/test/integration/tests/fast/negate.output +3 -0
- data/test/integration/tests/fast/not.bas +4 -0
- data/test/integration/tests/fast/not.input +0 -0
- data/test/integration/tests/fast/not.output +4 -0
- data/test/integration/tests/fast/on_goto.bas +6 -0
- data/test/integration/tests/fast/on_goto.input +0 -0
- data/test/integration/tests/fast/on_goto.output +2 -0
- data/test/integration/tests/fast/or.bas +5 -0
- data/test/integration/tests/fast/or.input +0 -0
- data/test/integration/tests/fast/or.output +5 -0
- data/test/integration/tests/fast/parentheses.bas +1 -0
- data/test/integration/tests/fast/parentheses.input +0 -0
- data/test/integration/tests/fast/parentheses.output +1 -0
- data/test/integration/tests/fast/power.bas +4 -0
- data/test/integration/tests/fast/power.input +0 -0
- data/test/integration/tests/fast/power.output +4 -0
- data/test/integration/tests/fast/print.bas +6 -0
- data/test/integration/tests/fast/print.input +0 -0
- data/test/integration/tests/fast/print.output +4 -0
- data/test/integration/tests/fast/read_data.bas +15 -0
- data/test/integration/tests/fast/read_data.input +0 -0
- data/test/integration/tests/fast/read_data.output +4 -0
- data/test/integration/tests/fast/rem.bas +1 -0
- data/test/integration/tests/fast/rem.input +0 -0
- data/test/integration/tests/fast/rem.output +0 -0
- data/test/integration/tests/fast/right.bas +1 -0
- data/test/integration/tests/fast/right.input +0 -0
- data/test/integration/tests/fast/right.output +1 -0
- data/test/integration/tests/fast/rnd.bas +5 -0
- data/test/integration/tests/fast/rnd.input +0 -0
- data/test/integration/tests/fast/rnd.output +5 -0
- data/test/integration/tests/fast/sgn.bas +5 -0
- data/test/integration/tests/fast/sgn.input +0 -0
- data/test/integration/tests/fast/sgn.output +5 -0
- data/test/integration/tests/fast/sin.bas +1 -0
- data/test/integration/tests/fast/sin.input +0 -0
- data/test/integration/tests/fast/sin.output +1 -0
- data/test/integration/tests/fast/sqr.bas +2 -0
- data/test/integration/tests/fast/sqr.input +0 -0
- data/test/integration/tests/fast/sqr.output +2 -0
- data/test/integration/tests/fast/stop.bas +3 -0
- data/test/integration/tests/fast/stop.input +0 -0
- data/test/integration/tests/fast/stop.output +2 -0
- data/test/integration/tests/fast/str.bas +3 -0
- data/test/integration/tests/fast/str.input +0 -0
- data/test/integration/tests/fast/str.output +3 -0
- data/test/integration/tests/fast/string_addition.bas +1 -0
- data/test/integration/tests/fast/string_addition.input +0 -0
- data/test/integration/tests/fast/string_addition.output +1 -0
- data/test/integration/tests/fast/string_comparisons.bas +7 -0
- data/test/integration/tests/fast/string_comparisons.input +0 -0
- data/test/integration/tests/fast/string_comparisons.output +4 -0
- data/test/integration/tests/fast/string_plus_integer.bas +1 -0
- data/test/integration/tests/fast/string_plus_integer.input +0 -0
- data/test/integration/tests/fast/string_plus_integer.output +1 -0
- data/test/integration/tests/fast/subtract.bas +5 -0
- data/test/integration/tests/fast/subtract.input +0 -0
- data/test/integration/tests/fast/subtract.output +5 -0
- data/test/integration/tests/fast/tab.bas +4 -0
- data/test/integration/tests/fast/tab.input +0 -0
- data/test/integration/tests/fast/tab.output +3 -0
- data/test/integration/tests/fast/tan.bas +1 -0
- data/test/integration/tests/fast/tan.input +0 -0
- data/test/integration/tests/fast/tan.output +1 -0
- data/test/integration/tests/fast/val.bas +3 -0
- data/test/integration/tests/fast/val.input +0 -0
- data/test/integration/tests/fast/val.output +3 -0
- data/test/spec/argument_checker_spec.rb +128 -0
- data/test/spec/basic_array_spec.rb +100 -0
- data/test/spec/basic_float_spec.rb +168 -0
- data/test/spec/basic_integer_spec.rb +270 -0
- data/test/spec/basic_numeric_spec.rb +16 -0
- data/test/spec/basic_object_spec.rb +22 -0
- data/test/spec/basic_string_spec.rb +259 -0
- data/test/spec/for_stack_spec.rb +70 -0
- data/test/spec/input_reader_spec.rb +143 -0
- data/test/spec/input_spec.rb +102 -0
- data/test/spec/line_spec.rb +18 -0
- data/test/spec/output_spec.rb +153 -0
- data/test/spec/parser_spec.rb +562 -0
- data/test/spec/program_spec.rb +45 -0
- data/test/spec/spec_helper.rb +15 -0
- data/test/spec/support/basic_numeric_helpers.rb +327 -0
- data/test/spec/support/basic_object_helpers.rb +22 -0
- data/test/spec/transcript_spec.rb +37 -0
- data/test/spec/transform_spec.rb +513 -0
- metadata +742 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
10 PRINT TAB(32);"ANIMAL"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT: PRINT: PRINT
|
4
|
+
40 PRINT "PLAY 'GUESS THE ANIMAL'"
|
5
|
+
45 PRINT
|
6
|
+
50 PRINT "THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT."
|
7
|
+
60 PRINT
|
8
|
+
70 DIM A$(200)
|
9
|
+
80 FOR I=0 TO 3
|
10
|
+
90 READ A$(I)
|
11
|
+
100 NEXT I
|
12
|
+
110 N=VAL(A$(0))
|
13
|
+
120 REM MAIN CONTROL SECTION
|
14
|
+
130 INPUT "ARE YOU THINKING OF AN ANIMAL";A$
|
15
|
+
140 IF A$="LIST" THEN 600
|
16
|
+
150 IF LEFT$(A$,1)<>"Y" THEN 120
|
17
|
+
160 K=1
|
18
|
+
170 GOSUB 390
|
19
|
+
180 IF LEN(A$(K))=0 THEN 999
|
20
|
+
190 IF LEFT$(A$(K),2)="\Q" THEN 170
|
21
|
+
200 PRINT "IS IT A ";RIGHT$(A$(K),LEN(A$(K))-2);
|
22
|
+
210 INPUT A$
|
23
|
+
220 A$=LEFT$(A$,1)
|
24
|
+
230 IF LEFT$(A$,1)="Y" THEN PRINT "WHY NOT TRY ANOTHER ANIMAL?": GOTO 120
|
25
|
+
240 INPUT "THE ANIMAL YOU WERE THINKING OF WAS A ";V$
|
26
|
+
250 PRINT "PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A"
|
27
|
+
260 PRINT V$;" FROM A ";RIGHT$(A$(K),LEN(A$(K))-2)
|
28
|
+
270 INPUT X$
|
29
|
+
280 PRINT "FOR A ";V$;" THE ANSWER WOULD BE ";
|
30
|
+
290 INPUT A$
|
31
|
+
300 A$=LEFT$(A$,1): IF A$<>"Y" AND A$<>"N" THEN 280
|
32
|
+
310 IF A$="Y" THEN B$="N"
|
33
|
+
320 IF A$="N" THEN B$="Y"
|
34
|
+
330 Z1=VAL(A$(0))
|
35
|
+
340 A$(0)=STR$(Z1+2)
|
36
|
+
350 A$(Z1)=A$(K)
|
37
|
+
360 A$(Z1+1)="\A"+V$
|
38
|
+
370 A$(K)="\Q"+X$+"\"+A$+STR$(Z1+1)+"\"+B$+STR$(Z1)+"\"
|
39
|
+
380 GOTO 120
|
40
|
+
390 REM SUBROUTINE TO PRINT QUESTIONS
|
41
|
+
400 Q$=A$(K)
|
42
|
+
410 FOR Z=3 TO LEN(Q$)
|
43
|
+
415 IF MID$(Q$,Z,1)<>"\" THEN PRINT MID$(Q$,Z,1);: NEXT Z
|
44
|
+
420 INPUT C$
|
45
|
+
430 C$=LEFT$(C$,1)
|
46
|
+
440 IF C$<>"Y" AND C$<>"N" THEN 410
|
47
|
+
450 T$="\"+C$
|
48
|
+
455 FOR X=3 TO LEN(Q$)-1
|
49
|
+
460 IF MID$(Q$,X,2)=T$ THEN 480
|
50
|
+
470 NEXT X
|
51
|
+
475 STOP
|
52
|
+
480 FOR Y=X+1 TO LEN(Q$)
|
53
|
+
490 IF MID$(Q$,Y,1)="\" THEN 510
|
54
|
+
500 NEXT Y
|
55
|
+
505 STOP
|
56
|
+
510 K=VAL(MID$(Q$,X+2,Y-X-2))
|
57
|
+
520 RETURN
|
58
|
+
530 DATA "4","\QDOES IT SWIM\Y2\N3\","\AFISH","\ABIRD"
|
59
|
+
600 PRINT:PRINT "ANIMALS I ALREADY KNOW ARE:"
|
60
|
+
605 X=0
|
61
|
+
610 FOR I=1 TO 200
|
62
|
+
620 IF LEFT$(A$(I),2)<>"\A" THEN 650
|
63
|
+
624 PRINT TAB(15*X);
|
64
|
+
630 FOR Z=3 TO LEN(A$(I))
|
65
|
+
640 IF MID$(A$(I),Z,1)<>"\" THEN PRINT MID$(A$(I),Z,1);: NEXT Z
|
66
|
+
645 X=X+1: IF X=4 THEN X=0: PRINT
|
67
|
+
650 NEXT I
|
68
|
+
660 PRINT
|
69
|
+
670 PRINT
|
70
|
+
680 GOTO 120
|
71
|
+
999 END
|
@@ -0,0 +1,38 @@
|
|
1
|
+
ANIMAL
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
PLAY 'GUESS THE ANIMAL'
|
7
|
+
|
8
|
+
THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT.
|
9
|
+
|
10
|
+
ARE YOU THINKING OF AN ANIMAL? Y
|
11
|
+
DOES IT SWIM? YES
|
12
|
+
IS IT A FISH? NO
|
13
|
+
THE ANIMAL YOU WERE THINKING OF WAS A ? JELLYFISH
|
14
|
+
PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A
|
15
|
+
JELLYFISH FROM A FISH
|
16
|
+
? DOES IT HAVE SCALES
|
17
|
+
FOR A JELLYFISH THE ANSWER WOULD BE ? NO
|
18
|
+
ARE YOU THINKING OF AN ANIMAL? YES
|
19
|
+
DOES IT SWIM? NO
|
20
|
+
IS IT A BIRD? NO
|
21
|
+
THE ANIMAL YOU WERE THINKING OF WAS A ? GIRAFFE
|
22
|
+
PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A
|
23
|
+
GIRAFFE FROM A BIRD
|
24
|
+
? DOES IT HAVE A LONG NECK
|
25
|
+
FOR A GIRAFFE THE ANSWER WOULD BE ? YES
|
26
|
+
ARE YOU THINKING OF AN ANIMAL? YES
|
27
|
+
DOES IT SWIM? YES
|
28
|
+
DOES IT HAVE SCALES? YES
|
29
|
+
IS IT A FISH? YES
|
30
|
+
WHY NOT TRY ANOTHER ANIMAL?
|
31
|
+
ARE YOU THINKING OF AN ANIMAL? LIST
|
32
|
+
|
33
|
+
ANIMALS I ALREADY KNOW ARE:
|
34
|
+
FISH JELLYFISH BIRD GIRAFFE
|
35
|
+
|
36
|
+
|
37
|
+
ARE YOU THINKING OF AN ANIMAL?
|
38
|
+
Error on line 130: No more input
|
@@ -0,0 +1,70 @@
|
|
1
|
+
5 PRINT TAB(34);"AWARI"
|
2
|
+
7 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
10 DATA 0
|
4
|
+
15 DIM B(13),G(13),F(50):READ N
|
5
|
+
20 PRINT:PRINT:E=0
|
6
|
+
25 FOR I=0 TO 12:B(I)=3:NEXT I
|
7
|
+
30 C=0:F(N)=0:B(13)=0:B(6)=0
|
8
|
+
35 GOSUB 500
|
9
|
+
40 PRINT "YOUR MOVE";:GOSUB 110
|
10
|
+
45 IF E=0 THEN 80
|
11
|
+
50 IF M=H THEN GOSUB 100
|
12
|
+
55 IF E=0 THEN 80
|
13
|
+
60 PRINT "MY MOVE IS ";:GOSUB 800
|
14
|
+
65 IF E=0 THEN 80
|
15
|
+
70 IF M=H THEN PRINT ",";:GOSUB 800
|
16
|
+
75 IF E>0 THEN 35
|
17
|
+
80 PRINT:PRINT"GAME OVER"
|
18
|
+
85 D=B(6)-B(13):IF D<0 THEN PRINT "I WIN BY";-D;"POINTS":GOTO 20
|
19
|
+
90 N=N+1:IF D=0 THEN PRINT "DRAWN GAME":GOTO 20
|
20
|
+
95 PRINT "YOU WIN BY";D;"POINTS":GOTO 20
|
21
|
+
100 PRINT "AGAIN";
|
22
|
+
110 INPUT M:IF M<7 THEN IF M>0 THEN M=M-1:GOTO 130
|
23
|
+
120 PRINT "ILLEGAL MOVE":GOTO 100
|
24
|
+
130 IF B(M)=0 THEN 120
|
25
|
+
140 H=6:GOSUB 200
|
26
|
+
150 GOTO 500
|
27
|
+
200 K=M:GOSUB 600
|
28
|
+
205 E=0:IF K>6 THEN K=K-7
|
29
|
+
210 C=C+1:IF C<9 THEN F(N)=F(N)*6+K
|
30
|
+
215 FOR I=0 TO 5:IF B(I)<>0 THEN 230
|
31
|
+
220 NEXT I
|
32
|
+
225 RETURN
|
33
|
+
230 FOR I=7 TO 12:IF B(I)<>0 THEN E=1:RETURN
|
34
|
+
235 GOTO 220
|
35
|
+
500 PRINT:PRINT" ";
|
36
|
+
505 FOR I=12 TO 7 STEP -1:GOSUB 580
|
37
|
+
510 NEXT I
|
38
|
+
515 PRINT:I=13:GOSUB 580
|
39
|
+
520 PRINT " ";:PRINT B(6):PRINT " ";
|
40
|
+
525 FOR I=0 TO 5:GOSUB 580
|
41
|
+
530 NEXT I
|
42
|
+
535 PRINT:PRINT:RETURN
|
43
|
+
580 IF B(I)<10 THEN PRINT " ";
|
44
|
+
585 PRINT B(I);:RETURN
|
45
|
+
600 P=B(M):B(M)=0
|
46
|
+
605 FOR P=P TO 1 STEP -1:M=M+1:IF M>13 THEN M=M-14
|
47
|
+
610 B(M)=B(M)+1:NEXT P
|
48
|
+
615 IF B(M)=1 THEN IF M<>6 THEN IF M<>13 THEN IF B(12-M)<>0 THEN 625
|
49
|
+
620 RETURN
|
50
|
+
625 B(H)=B(H)+B(12-M)+1:B(M)=0:B(12-M)=0:RETURN
|
51
|
+
800 D=-99:H=13
|
52
|
+
805 FOR I=0 TO 13:G(I)=B(I):NEXT I
|
53
|
+
810 FOR J=7 TO 12:IF B(J)=0 THEN 885
|
54
|
+
815 G=0:M=J:GOSUB 600
|
55
|
+
820 FOR I=0 TO 5:IF B(I)=0 THEN 845
|
56
|
+
825 L=B(I)+I:R=0
|
57
|
+
830 IF L>13 THEN L=L-14:R=1:GOTO 830
|
58
|
+
835 IF B(L)=0 THEN IF L<>6 THEN IF L<>13 THEN R=B(12-L)+R
|
59
|
+
840 IF R>Q THEN Q=R
|
60
|
+
845 NEXT I
|
61
|
+
850 Q=B(13)-B(6)-Q:IF C>8 THEN 875
|
62
|
+
855 K=J:IF K>6 THEN K=K-7
|
63
|
+
860 FOR I=0 TO N-1:IF F(N)*6+K=INT(F(I)/6^(7-C)+.1) THEN Q=Q-2
|
64
|
+
870 NEXT I
|
65
|
+
875 FOR I=0 TO 13:B(I)=G(I):NEXT I
|
66
|
+
880 IF Q>=D THEN A=J:D=Q
|
67
|
+
885 NEXT J
|
68
|
+
890 M=A:PRINT CHR$(42+M);:GOTO 200
|
69
|
+
900 FOR I=0 TO N-1:PRINT B(I):NEXT I
|
70
|
+
999 END
|
@@ -0,0 +1,117 @@
|
|
1
|
+
AWARI
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
3 3 3 3 3 3
|
7
|
+
0 0
|
8
|
+
3 3 3 3 3 3
|
9
|
+
|
10
|
+
YOUR MOVE? 6
|
11
|
+
|
12
|
+
3 3 3 3 4 4
|
13
|
+
0 1
|
14
|
+
3 3 3 3 3 0
|
15
|
+
|
16
|
+
MY MOVE IS 1
|
17
|
+
3 4 4 4 5 0
|
18
|
+
0 1
|
19
|
+
3 3 3 3 3 0
|
20
|
+
|
21
|
+
YOUR MOVE? 5
|
22
|
+
|
23
|
+
3 4 4 4 5 0
|
24
|
+
0 4
|
25
|
+
3 3 3 3 0 0
|
26
|
+
|
27
|
+
MY MOVE IS 2,6
|
28
|
+
0 5 5 5 0 0
|
29
|
+
2 4
|
30
|
+
4 4 4 3 0 0
|
31
|
+
|
32
|
+
YOUR MOVE? 4
|
33
|
+
|
34
|
+
0 5 5 5 0 0
|
35
|
+
2 5
|
36
|
+
4 4 4 0 1 1
|
37
|
+
|
38
|
+
AGAIN? 6
|
39
|
+
|
40
|
+
0 5 5 5 0 0
|
41
|
+
2 6
|
42
|
+
4 4 4 0 1 0
|
43
|
+
|
44
|
+
MY MOVE IS 5
|
45
|
+
1 0 5 5 0 0
|
46
|
+
3 6
|
47
|
+
5 5 5 0 1 0
|
48
|
+
|
49
|
+
YOUR MOVE? 5
|
50
|
+
|
51
|
+
1 0 5 5 0 0
|
52
|
+
3 6
|
53
|
+
5 5 5 0 0 1
|
54
|
+
|
55
|
+
MY MOVE IS 6,4
|
56
|
+
1 1 0 5 0 0
|
57
|
+
5 6
|
58
|
+
6 6 5 0 0 1
|
59
|
+
|
60
|
+
YOUR MOVE? 6
|
61
|
+
|
62
|
+
1 1 0 5 0 0
|
63
|
+
5 7
|
64
|
+
6 6 5 0 0 0
|
65
|
+
|
66
|
+
AGAIN? 1
|
67
|
+
|
68
|
+
1 1 0 5 0 0
|
69
|
+
5 8
|
70
|
+
0 7 6 1 1 1
|
71
|
+
|
72
|
+
MY MOVE IS 3
|
73
|
+
0 2 1 0 0 0
|
74
|
+
9 8
|
75
|
+
0 7 6 1 1 1
|
76
|
+
|
77
|
+
YOUR MOVE? 6
|
78
|
+
|
79
|
+
0 2 1 0 0 0
|
80
|
+
9 9
|
81
|
+
0 7 6 1 1 0
|
82
|
+
|
83
|
+
AGAIN? 5
|
84
|
+
|
85
|
+
0 2 1 0 0 0
|
86
|
+
9 9
|
87
|
+
0 7 6 1 0 1
|
88
|
+
|
89
|
+
MY MOVE IS 5,4
|
90
|
+
1 0 0 0 0 0
|
91
|
+
18 9
|
92
|
+
0 0 6 1 0 1
|
93
|
+
|
94
|
+
YOUR MOVE? 6
|
95
|
+
|
96
|
+
1 0 0 0 0 0
|
97
|
+
18 10
|
98
|
+
0 0 6 1 0 0
|
99
|
+
|
100
|
+
AGAIN? 4
|
101
|
+
|
102
|
+
1 0 0 0 0 0
|
103
|
+
18 10
|
104
|
+
0 0 6 0 1 0
|
105
|
+
|
106
|
+
MY MOVE IS 6
|
107
|
+
GAME OVER
|
108
|
+
I WIN BY 9 POINTS
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
3 3 3 3 3 3
|
113
|
+
0 0
|
114
|
+
3 3 3 3 3 3
|
115
|
+
|
116
|
+
YOUR MOVE?
|
117
|
+
Error on line 110: No more input
|
@@ -0,0 +1,81 @@
|
|
1
|
+
5 PRINT TAB(33);"BAGELS"
|
2
|
+
10 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY":PRINT:PRINT
|
3
|
+
15 REM *** BAGLES NUMBER GUESSING GAME
|
4
|
+
20 REM *** ORIGINAL SOURCE UNKNOWN BUT SUSPECTED TO BE
|
5
|
+
25 REM *** LAWRENCE HALL OF SCIENCE, U.C. BERKELY
|
6
|
+
30 DIM A1(6),A(3),B(3)
|
7
|
+
40 Y=0:T=255
|
8
|
+
50 PRINT:PRINT:PRINT
|
9
|
+
70 INPUT "WOULD YOU LIKE THE RULES (YES OR NO)";A$
|
10
|
+
90 IF LEFT$(A$,1)="N" THEN 150
|
11
|
+
100 PRINT:PRINT "I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS"
|
12
|
+
110 PRINT "MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:"
|
13
|
+
120 PRINT " PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION"
|
14
|
+
130 PRINT " FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION"
|
15
|
+
140 PRINT " BAGELS - NO DIGITS CORRECT"
|
16
|
+
150 FOR I=1 TO 3
|
17
|
+
160 A(I)=INT(10*RND(1))
|
18
|
+
165 IF I-1=0 THEN 200
|
19
|
+
170 FOR J=1 TO I-1
|
20
|
+
180 IF A(I)=A(J) THEN 160
|
21
|
+
190 NEXT J
|
22
|
+
200 NEXT I
|
23
|
+
210 PRINT:PRINT "O.K. I HAVE A NUMBER IN MIND."
|
24
|
+
220 FOR I=1 TO 20
|
25
|
+
230 PRINT "GUESS #";I,
|
26
|
+
240 INPUT A$
|
27
|
+
245 IF LEN(A$)<>3 THEN 630
|
28
|
+
250 FOR Z=1 TO 3:A1(Z)=ASC(MID$(A$,Z,1)):NEXT Z
|
29
|
+
260 FOR J=1 TO 3
|
30
|
+
270 IF A1(J)<48 THEN 300
|
31
|
+
280 IF A1(J)>57 THEN 300
|
32
|
+
285 B(J)=A1(J)-48
|
33
|
+
290 NEXT J
|
34
|
+
295 GOTO 320
|
35
|
+
300 PRINT "WHAT?"
|
36
|
+
310 GOTO 230
|
37
|
+
320 IF B(1)=B(2) THEN 650
|
38
|
+
330 IF B(2)=B(3) THEN 650
|
39
|
+
340 IF B(3)=B(1) THEN 650
|
40
|
+
350 C=0:D=0
|
41
|
+
360 FOR J=1 TO 2
|
42
|
+
370 IF A(J)<>B(J+1) THEN 390
|
43
|
+
380 C=C+1
|
44
|
+
390 IF A(J+1)<>B(J) THEN 410
|
45
|
+
400 C=C+1
|
46
|
+
410 NEXT J
|
47
|
+
420 IF A(1)<>B(3) THEN 440
|
48
|
+
430 C=C+1
|
49
|
+
440 IF A(3)<>B(1) THEN 460
|
50
|
+
450 C=C+1
|
51
|
+
460 FOR J=1 TO 3
|
52
|
+
470 IF A(J)<>B(J) THEN 490
|
53
|
+
480 D=D+1
|
54
|
+
490 NEXT J
|
55
|
+
500 IF D=3 THEN 680
|
56
|
+
505 IF C=0 THEN 545
|
57
|
+
520 FOR J=1 TO C
|
58
|
+
530 PRINT "PICO ";
|
59
|
+
540 NEXT J
|
60
|
+
545 IF D=0 THEN 580
|
61
|
+
550 FOR J=1 TO D
|
62
|
+
560 PRINT "FERMI ";
|
63
|
+
570 NEXT J
|
64
|
+
580 IF C+D<>0 THEN 600
|
65
|
+
590 PRINT "BAGELS";
|
66
|
+
600 PRINT
|
67
|
+
605 NEXT I
|
68
|
+
610 PRINT "OH WELL."
|
69
|
+
615 PRINT "THAT'S TWNETY GUESSES. MY NUMBER WAS";100*A(1)+10*A(2)+A(3)
|
70
|
+
620 GOTO 700
|
71
|
+
630 PRINT "TRY GUESSING A THREE-DIGIT NUMBER.":GOTO 230
|
72
|
+
650 PRINT "OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND"
|
73
|
+
660 PRINT "HAS NO TWO DIGITS THE SAME.":GOTO 230
|
74
|
+
680 PRINT "YOU GOT IT!!!":PRINT
|
75
|
+
690 Y=Y+1
|
76
|
+
700 INPUT "PLAY AGAIN (YES OR NO)";A$
|
77
|
+
720 IF LEFT$(A$,1)="YES" THEN 150
|
78
|
+
730 IF Y=0 THEN 750
|
79
|
+
740 PRINT:PRINT "A";Y;"POINT BAGELS BUFF!!"
|
80
|
+
750 PRINT "HOPE YOU HAD FUN. BYE."
|
81
|
+
999 END
|
@@ -0,0 +1,42 @@
|
|
1
|
+
BAGELS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
WOULD YOU LIKE THE RULES (YES OR NO)? YES
|
9
|
+
|
10
|
+
I AM THINKING OF A THREE-DIGIT NUMBER. TRY TO GUESS
|
11
|
+
MY NUMBER AND I WILL GIVE YOU CLUES AS FOLLOWS:
|
12
|
+
PICO - ONE DIGIT CORRECT BUT IN THE WRONG POSITION
|
13
|
+
FERMI - ONE DIGIT CORRECT AND IN THE RIGHT POSITION
|
14
|
+
BAGELS - NO DIGITS CORRECT
|
15
|
+
|
16
|
+
O.K. I HAVE A NUMBER IN MIND.
|
17
|
+
GUESS # 1 ? 111
|
18
|
+
OH, I FORGOT TO TELL YOU THAT THE NUMBER I HAVE IN MIND
|
19
|
+
HAS NO TWO DIGITS THE SAME.
|
20
|
+
GUESS # 1 ? 123
|
21
|
+
BAGELS
|
22
|
+
GUESS # 2 ? 456
|
23
|
+
PICO FERMI
|
24
|
+
GUESS # 3 ? 124
|
25
|
+
BAGELS
|
26
|
+
GUESS # 4 ? 125
|
27
|
+
PICO
|
28
|
+
GUESS # 5 ? 127
|
29
|
+
PICO
|
30
|
+
GUESS # 6 ? 152
|
31
|
+
PICO
|
32
|
+
GUESS # 7 ? 512
|
33
|
+
FERMI
|
34
|
+
GUESS # 8 ? 567
|
35
|
+
PICO PICO FERMI
|
36
|
+
GUESS # 9 ? 576
|
37
|
+
YOU GOT IT!!!
|
38
|
+
|
39
|
+
PLAY AGAIN (YES OR NO)? NO
|
40
|
+
|
41
|
+
A 1 POINT BAGELS BUFF!!
|
42
|
+
HOPE YOU HAD FUN. BYE.
|
@@ -0,0 +1,94 @@
|
|
1
|
+
10 INPUT "HORIZONTAL";X
|
2
|
+
20 INPUT "VERTICAL";Y
|
3
|
+
21 INPUT "CENTERED";L$
|
4
|
+
22 G1=0:IF L$>"P" THEN G1=1
|
5
|
+
23 INPUT "CHARACTER (TYPE 'ALL' IF YOU WANT CHARACTER BEING PRINTED)";M$
|
6
|
+
29 PRINT "STATEMENT";
|
7
|
+
30 INPUT A$
|
8
|
+
35 INPUT "SET PAGE";O$
|
9
|
+
40 A=ASC(LEFT$(A$,1))
|
10
|
+
50 REM
|
11
|
+
60 REM
|
12
|
+
70 FOR T=1 TO LEN(A$)
|
13
|
+
80 P$=MID$(A$,T,1)
|
14
|
+
90 FOR O=1 TO 50
|
15
|
+
95 READ S$,S(1),S(2),S(3),S(4),S(5),S(6),S(7)
|
16
|
+
96 IF P$=" " THEN 812
|
17
|
+
100 IF P$=S$ THEN 200
|
18
|
+
120 NEXT O
|
19
|
+
200 RESTORE
|
20
|
+
201 X$=M$
|
21
|
+
202 IF M$="ALL" THEN X$=S$
|
22
|
+
205 FOR U=1 TO 7
|
23
|
+
210 FOR K=8 TO 0 STEP -1
|
24
|
+
230 IF 2^K<S(U) THEN 270
|
25
|
+
240 J(9-K)=0
|
26
|
+
250 GOTO 280
|
27
|
+
270 J(9-K)=1: S(U)=S(U)-2^K
|
28
|
+
272 IF S(U)=1 THEN 815
|
29
|
+
280 NEXT K
|
30
|
+
445 FOR T1=1 TO X
|
31
|
+
447 PRINT TAB((63-4.5*Y)*G1/(LEN(X$))+1);
|
32
|
+
450 FOR B=1 TO F(U)
|
33
|
+
460 IF J(B)=0 THEN 500
|
34
|
+
465 FOR I=1 TO Y: PRINT X$;: NEXT I
|
35
|
+
470 GOTO 600
|
36
|
+
500 FOR I=1 TO Y
|
37
|
+
510 FOR I1=1 TO LEN(X$)
|
38
|
+
520 PRINT " ";: NEXT I1
|
39
|
+
530 NEXT I
|
40
|
+
600 NEXT B
|
41
|
+
620 PRINT
|
42
|
+
630 NEXT T1
|
43
|
+
700 NEXT U
|
44
|
+
750 FOR H=1 TO 2*X: PRINT: NEXT H
|
45
|
+
800 NEXT T
|
46
|
+
806 FOR H=1 TO 75: PRINT: NEXT H
|
47
|
+
810 END
|
48
|
+
812 FOR H=1 TO 7*X: PRINT: NEXT H
|
49
|
+
813 GOTO 800
|
50
|
+
815 F(U)=9-K: GOTO 445
|
51
|
+
899 DATA " ",0,0,0,0,0,0,0
|
52
|
+
900 DATA "A",505,37,35,34,35,37,505
|
53
|
+
901 DATA "G",125,131,258,258,290,163,101
|
54
|
+
902 DATA "E",512,274,274,274,274,258,258
|
55
|
+
903 DATA "T",2,2,2,512,2,2,2
|
56
|
+
904 DATA "W",256,257,129,65,129,257,256
|
57
|
+
905 DATA "L",512,257,257,257,257,257,257
|
58
|
+
906 DATA "S",69,139,274,274,274,163,69
|
59
|
+
907 DATA "O",125,131,258,258,258,131,125
|
60
|
+
908 DATA "N",512,7,9,17,33,193,512
|
61
|
+
909 DATA "F",512,18,18,18,18,2,2
|
62
|
+
910 DATA "K",512,17,17,41,69,131,258
|
63
|
+
911 DATA "B",512,274,274,274,274,274,239
|
64
|
+
912 DATA "D",512,258,258,258,258,131,125
|
65
|
+
913 DATA "H",512,17,17,17,17,17,512
|
66
|
+
914 DATA "M",512,7,13,25,13,7,512
|
67
|
+
915 DATA "?",5,3,2,354,18,11,5
|
68
|
+
916 DATA "U",128,129,257,257,257,129,128
|
69
|
+
917 DATA "R",512,18,18,50,82,146,271
|
70
|
+
918 DATA "P",512,18,18,18,18,18,15
|
71
|
+
919 DATA "Q",125,131,258,258,322,131,381
|
72
|
+
920 DATA "Y",8,9,17,481,17,9,8
|
73
|
+
921 DATA "V",64,65,129,257,129,65,64
|
74
|
+
922 DATA "X",388,69,41,17,41,69,388
|
75
|
+
923 DATA "Z",386,322,290,274,266,262,260
|
76
|
+
924 DATA "I",258,258,258,512,258,258,258
|
77
|
+
925 DATA "C",125,131,258,258,258,131,69
|
78
|
+
926 DATA "J",65,129,257,257,257,129,128
|
79
|
+
927 DATA "1",0,0,261,259,512,257,257
|
80
|
+
928 DATA "2",261,387,322,290,274,267,261
|
81
|
+
929 DATA "*",69,41,17,512,17,41,69
|
82
|
+
930 DATA "3",66,130,258,274,266,150,100
|
83
|
+
931 DATA "4",33,49,41,37,35,512,33
|
84
|
+
932 DATA "5",160,274,274,274,274,274,226
|
85
|
+
933 DATA "6",194,291,293,297,305,289,193
|
86
|
+
934 DATA "7",258,130,66,34,18,10,8
|
87
|
+
935 DATA "8",69,171,274,274,274,171,69
|
88
|
+
936 DATA "9",263,138,74,42,26,10,7
|
89
|
+
937 DATA "=",41,41,41,41,41,41,41
|
90
|
+
938 DATA "!",1,1,1,384,1,1,1
|
91
|
+
939 DATA "0",57,69,131,258,131,69,57
|
92
|
+
940 DATA ".",1,1,129,449,129,1,1
|
93
|
+
1000 STOP
|
94
|
+
1002 END
|
@@ -0,0 +1,135 @@
|
|
1
|
+
HORIZONTAL? 2
|
2
|
+
VERTICAL? 2
|
3
|
+
CENTERED? YES
|
4
|
+
CHARACTER (TYPE 'ALL' IF YOU WANT CHARACTER BEING PRINTED)? ALL
|
5
|
+
STATEMENT? FOO
|
6
|
+
SET PAGE?
|
7
|
+
FFFFFFFFFFFFFFFFFF
|
8
|
+
FFFFFFFFFFFFFFFFFF
|
9
|
+
FF FF
|
10
|
+
FF FF
|
11
|
+
FF FF
|
12
|
+
FF FF
|
13
|
+
FF FF
|
14
|
+
FF FF
|
15
|
+
FF FF
|
16
|
+
FF FF
|
17
|
+
FF
|
18
|
+
FF
|
19
|
+
FF
|
20
|
+
FF
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
OOOOOOOOOO
|
26
|
+
OOOOOOOOOO
|
27
|
+
OO OO
|
28
|
+
OO OO
|
29
|
+
OO OO
|
30
|
+
OO OO
|
31
|
+
OO OO
|
32
|
+
OO OO
|
33
|
+
OO OO
|
34
|
+
OO OO
|
35
|
+
OO OO
|
36
|
+
OO OO
|
37
|
+
OOOOOOOOOO
|
38
|
+
OOOOOOOOOO
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
OOOOOOOOOO
|
44
|
+
OOOOOOOOOO
|
45
|
+
OO OO
|
46
|
+
OO OO
|
47
|
+
OO OO
|
48
|
+
OO OO
|
49
|
+
OO OO
|
50
|
+
OO OO
|
51
|
+
OO OO
|
52
|
+
OO OO
|
53
|
+
OO OO
|
54
|
+
OO OO
|
55
|
+
OOOOOOOOOO
|
56
|
+
OOOOOOOOOO
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|