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,168 @@
|
|
1
|
+
1 PRINT TAB(33);"QUEEN"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT:PRINT:PRINT
|
4
|
+
10 DIM S(64)
|
5
|
+
11 FOR I=1 TO 64
|
6
|
+
12 READ S(I)
|
7
|
+
13 NEXT I
|
8
|
+
14 DATA 81, 71, 61, 51, 41, 31, 21, 11
|
9
|
+
15 DATA 92, 82, 72, 62, 52, 42, 32, 22
|
10
|
+
16 DATA 103, 93, 83, 73, 63, 53, 43, 33
|
11
|
+
17 DATA 114, 104, 94, 84, 74, 64, 54, 44
|
12
|
+
18 DATA 125, 115, 105, 95, 85, 75, 65, 55
|
13
|
+
19 DATA 136, 126, 116, 106, 96, 86, 76, 66
|
14
|
+
20 DATA 147, 137, 127, 117, 107, 97, 87, 77
|
15
|
+
21 DATA 158, 148, 138, 128, 118, 108, 98, 88
|
16
|
+
22 INPUT "DO YOU WANT INSTRUCTIONS";W$
|
17
|
+
23 IF W$="NO" THEN 30
|
18
|
+
24 IF W$="YES" THEN 28
|
19
|
+
25 PRINT "PLEASE ANSWER 'YES' OR 'NO'."
|
20
|
+
26 GOTO 22
|
21
|
+
28 GOSUB 5000
|
22
|
+
29 GOTO 100
|
23
|
+
30 GOSUB 5160
|
24
|
+
90 REM ERROR CHECKS
|
25
|
+
100 PRINT "WHERE WOULD YOU LIKE TO START";
|
26
|
+
110 INPUT M1
|
27
|
+
115 IF M1=0 THEN 232
|
28
|
+
120 T1=INT(M1/10)
|
29
|
+
130 U1=M1-10*T1
|
30
|
+
140 IF U1=1 THEN 200
|
31
|
+
150 IF U1=T1 THEN 200
|
32
|
+
160 PRINT "PLEASE READ THE DIRECTIONS AGAIN."
|
33
|
+
170 PRINT "YOU HAVE BEGUN ILLEGALLY."
|
34
|
+
175 PRINT
|
35
|
+
180 GOTO 100
|
36
|
+
200 GOSUB 2000
|
37
|
+
210 PRINT "COMPUTER MOVES TO SQUARE";M
|
38
|
+
215 IF M=158 THEN 3400
|
39
|
+
220 PRINT "WHAT IS YOUR MOVE";
|
40
|
+
230 INPUT M1
|
41
|
+
231 IF M1<>0 THEN 239
|
42
|
+
232 PRINT
|
43
|
+
233 PRINT "IT LOOKS LIKE I HAVE WON BY FORFEIT."
|
44
|
+
234 PRINT
|
45
|
+
235 GOTO 4000
|
46
|
+
239 IF M1<=M THEN 3200
|
47
|
+
240 T1=INT(M1/10)
|
48
|
+
250 U1=M1-10*T1
|
49
|
+
260 P=U1-U
|
50
|
+
270 IF P<>0 THEN 300
|
51
|
+
280 L=T1-T
|
52
|
+
290 IF L<=0 THEN 3200
|
53
|
+
295 GOTO 200
|
54
|
+
300 IF T1-T <>P THEN 320
|
55
|
+
310 GOTO 200
|
56
|
+
320 IF T1-T <>2*P THEN 3200
|
57
|
+
330 GOTO 200
|
58
|
+
1990 REM LOCATE MOVE FOR COMPUTER
|
59
|
+
2000 IF M1=41 THEN 2180
|
60
|
+
2010 IF M1=44 THEN 2180
|
61
|
+
2020 IF M1=73 THEN 2180
|
62
|
+
2030 IF M1=75 THEN 2180
|
63
|
+
2040 IF M1=126 THEN 2180
|
64
|
+
2050 IF M1=127 THEN 2180
|
65
|
+
2060 IF M1=158 THEN 3300
|
66
|
+
2065 C=0
|
67
|
+
2070 FOR K=7 TO 1 STEP -1
|
68
|
+
2080 U=U1
|
69
|
+
2090 T=T1+K
|
70
|
+
2100 GOSUB 3500
|
71
|
+
2105 IF C=1 THEN 2160
|
72
|
+
2110 U=U+K
|
73
|
+
2120 GOSUB 3500
|
74
|
+
2125 IF C=1 THEN 2160
|
75
|
+
2130 T=T+K
|
76
|
+
2140 GOSUB 3500
|
77
|
+
2145 IF C=1 THEN 2160
|
78
|
+
2150 NEXT K
|
79
|
+
2155 GOTO 2180
|
80
|
+
2160 C=0
|
81
|
+
2170 RETURN
|
82
|
+
2180 GOSUB 3000
|
83
|
+
2190 RETURN
|
84
|
+
2990 REM RANDOM MOVE
|
85
|
+
3000 Z=RND(1)
|
86
|
+
3010 IF Z>.6 THEN 3110
|
87
|
+
3020 IF Z>.3 THEN 3070
|
88
|
+
3030 U=U1
|
89
|
+
3040 T=T1+1
|
90
|
+
3050 M=10*T+U
|
91
|
+
3060 RETURN
|
92
|
+
3070 U=U1+1
|
93
|
+
3080 T=T1+2
|
94
|
+
3090 M=10*T+U
|
95
|
+
3100 RETURN
|
96
|
+
3110 U=U1+1
|
97
|
+
3120 T=T1+1
|
98
|
+
3130 M=10*T+U
|
99
|
+
3140 RETURN
|
100
|
+
3190 REM ILLEGAL MOVE MESSAGE
|
101
|
+
3200 PRINT
|
102
|
+
3210 PRINT "Y O U C H E A T . . . TRY AGAIN";
|
103
|
+
3220 GOTO 230
|
104
|
+
3290 REM PLAYER WINS
|
105
|
+
3300 PRINT
|
106
|
+
3310 PRINT "C O N G R A T U L A T I O N S . . ."
|
107
|
+
3320 PRINT
|
108
|
+
3330 PRINT "YOU HAVE WON--VERY WELL PLAYED."
|
109
|
+
3340 PRINT "IT LOOKS LIKE I HAVE MET MY MATCH."
|
110
|
+
3350 PRINT "THANKS FOR PLAYING---I CAN'T WIN ALL THE TIME."
|
111
|
+
3360 PRINT
|
112
|
+
3370 GOTO 4000
|
113
|
+
3390 REM COMPUTER WINS
|
114
|
+
3400 PRINT
|
115
|
+
3410 PRINT "NICE TRY, BUT IT LOOKS LIKE I HAVE WON."
|
116
|
+
3420 PRINT "THANKS FOR PLAYING."
|
117
|
+
3430 PRINT
|
118
|
+
3440 GOTO 4000
|
119
|
+
3490 REM TEST FOR COMPUTER MOVE
|
120
|
+
3500 M=10*T+U
|
121
|
+
3510 IF M=158 THEN 3570
|
122
|
+
3520 IF M=127 THEN 3570
|
123
|
+
3530 IF M=126 THEN 3570
|
124
|
+
3540 IF M=75 THEN 3570
|
125
|
+
3550 IF M=73 THEN 3570
|
126
|
+
3560 RETURN
|
127
|
+
3570 C=1
|
128
|
+
3580 GOTO 3560
|
129
|
+
3990 REM ANOTHER GAME???
|
130
|
+
4000 PRINT "ANYONE ELSE CARE TO TRY";
|
131
|
+
4010 INPUT Q$
|
132
|
+
4020 PRINT
|
133
|
+
4030 IF Q$="YES" THEN 30
|
134
|
+
4040 IF Q$="NO" THEN 4050
|
135
|
+
4042 PRINT "PLEASE ANSWER 'YES' OR 'NO'."
|
136
|
+
4045 GOTO 4000
|
137
|
+
4050 PRINT:PRINT "OK --- THANKS AGAIN."
|
138
|
+
4060 STOP
|
139
|
+
4990 REM DIRECTIONS
|
140
|
+
5000 PRINT "WE ARE GOING TO PLAY A GAME BASED ON ONE OF THE CHESS"
|
141
|
+
5010 PRINT "MOVES. OUR QUEEN WILL BE ABLE TO MOVE ONLY TO THE LEFT,"
|
142
|
+
5020 PRINT "DOWN, OR DIAGONALLY DOWN AND TO THE LEFT."
|
143
|
+
5030 PRINT
|
144
|
+
5040 PRINT "THE OBJECT OF THE GAME IS TO PLACE THE QUEEN IN THE LOWER"
|
145
|
+
5050 PRINT "LEFT HAND SQUARE BY ALTERNATING MOVES BETWEEN YOU AND THE"
|
146
|
+
5060 PRINT "COMPUTER. THE FIRST ONE TO PLACE THE QUEEN THERE WINS."
|
147
|
+
5070 PRINT
|
148
|
+
5080 PRINT "YOU GO FIRST AND PLACE THE QUEEN IN ANY ONE OF THE SQUARES"
|
149
|
+
5090 PRINT "ON THE TOP ROW OR RIGHT HAND COLUMN."
|
150
|
+
5100 PRINT "THAT WILL BE YOUR FIRST MOVE."
|
151
|
+
5110 PRINT "WE ALTERNATE MOVES."
|
152
|
+
5120 PRINT "YOU MAY FORFEIT BY TYPING '0' AS YOUR MOVE."
|
153
|
+
5130 PRINT "BE SURE TO PRESS THE RETURN KEY AFTER EACH RESPONSE."
|
154
|
+
5140 PRINT
|
155
|
+
5150 PRINT
|
156
|
+
5160 PRINT
|
157
|
+
5170 FOR A=0 TO 7
|
158
|
+
5180 FOR B=1 TO 8
|
159
|
+
5185 I=8*A+B
|
160
|
+
5190 PRINT S(I);
|
161
|
+
5200 NEXT B
|
162
|
+
5210 PRINT
|
163
|
+
5220 PRINT
|
164
|
+
5230 PRINT
|
165
|
+
5240 NEXT A
|
166
|
+
5250 PRINT
|
167
|
+
5260 RETURN
|
168
|
+
9999 END
|
@@ -0,0 +1,133 @@
|
|
1
|
+
QUEEN
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
DO YOU WANT INSTRUCTIONS? YES
|
7
|
+
WE ARE GOING TO PLAY A GAME BASED ON ONE OF THE CHESS
|
8
|
+
MOVES. OUR QUEEN WILL BE ABLE TO MOVE ONLY TO THE LEFT,
|
9
|
+
DOWN, OR DIAGONALLY DOWN AND TO THE LEFT.
|
10
|
+
|
11
|
+
THE OBJECT OF THE GAME IS TO PLACE THE QUEEN IN THE LOWER
|
12
|
+
LEFT HAND SQUARE BY ALTERNATING MOVES BETWEEN YOU AND THE
|
13
|
+
COMPUTER. THE FIRST ONE TO PLACE THE QUEEN THERE WINS.
|
14
|
+
|
15
|
+
YOU GO FIRST AND PLACE THE QUEEN IN ANY ONE OF THE SQUARES
|
16
|
+
ON THE TOP ROW OR RIGHT HAND COLUMN.
|
17
|
+
THAT WILL BE YOUR FIRST MOVE.
|
18
|
+
WE ALTERNATE MOVES.
|
19
|
+
YOU MAY FORFEIT BY TYPING '0' AS YOUR MOVE.
|
20
|
+
BE SURE TO PRESS THE RETURN KEY AFTER EACH RESPONSE.
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
81 71 61 51 41 31 21 11
|
25
|
+
|
26
|
+
|
27
|
+
92 82 72 62 52 42 32 22
|
28
|
+
|
29
|
+
|
30
|
+
103 93 83 73 63 53 43 33
|
31
|
+
|
32
|
+
|
33
|
+
114 104 94 84 74 64 54 44
|
34
|
+
|
35
|
+
|
36
|
+
125 115 105 95 85 75 65 55
|
37
|
+
|
38
|
+
|
39
|
+
136 126 116 106 96 86 76 66
|
40
|
+
|
41
|
+
|
42
|
+
147 137 127 117 107 97 87 77
|
43
|
+
|
44
|
+
|
45
|
+
158 148 138 128 118 108 98 88
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
WHERE WOULD YOU LIKE TO START? 11
|
50
|
+
COMPUTER MOVES TO SQUARE 158
|
51
|
+
|
52
|
+
NICE TRY, BUT IT LOOKS LIKE I HAVE WON.
|
53
|
+
THANKS FOR PLAYING.
|
54
|
+
|
55
|
+
ANYONE ELSE CARE TO TRY? YES
|
56
|
+
|
57
|
+
|
58
|
+
81 71 61 51 41 31 21 11
|
59
|
+
|
60
|
+
|
61
|
+
92 82 72 62 52 42 32 22
|
62
|
+
|
63
|
+
|
64
|
+
103 93 83 73 63 53 43 33
|
65
|
+
|
66
|
+
|
67
|
+
114 104 94 84 74 64 54 44
|
68
|
+
|
69
|
+
|
70
|
+
125 115 105 95 85 75 65 55
|
71
|
+
|
72
|
+
|
73
|
+
136 126 116 106 96 86 76 66
|
74
|
+
|
75
|
+
|
76
|
+
147 137 127 117 107 97 87 77
|
77
|
+
|
78
|
+
|
79
|
+
158 148 138 128 118 108 98 88
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
WHERE WOULD YOU LIKE TO START? 21
|
84
|
+
COMPUTER MOVES TO SQUARE 126
|
85
|
+
WHAT IS YOUR MOVE? 137
|
86
|
+
COMPUTER MOVES TO SQUARE 158
|
87
|
+
|
88
|
+
NICE TRY, BUT IT LOOKS LIKE I HAVE WON.
|
89
|
+
THANKS FOR PLAYING.
|
90
|
+
|
91
|
+
ANYONE ELSE CARE TO TRY? YES
|
92
|
+
|
93
|
+
|
94
|
+
81 71 61 51 41 31 21 11
|
95
|
+
|
96
|
+
|
97
|
+
92 82 72 62 52 42 32 22
|
98
|
+
|
99
|
+
|
100
|
+
103 93 83 73 63 53 43 33
|
101
|
+
|
102
|
+
|
103
|
+
114 104 94 84 74 64 54 44
|
104
|
+
|
105
|
+
|
106
|
+
125 115 105 95 85 75 65 55
|
107
|
+
|
108
|
+
|
109
|
+
136 126 116 106 96 86 76 66
|
110
|
+
|
111
|
+
|
112
|
+
147 137 127 117 107 97 87 77
|
113
|
+
|
114
|
+
|
115
|
+
158 148 138 128 118 108 98 88
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
WHERE WOULD YOU LIKE TO START? 31
|
120
|
+
COMPUTER MOVES TO SQUARE 75
|
121
|
+
WHAT IS YOUR MOVE? 97
|
122
|
+
COMPUTER MOVES TO SQUARE 127
|
123
|
+
WHAT IS YOUR MOVE? 137
|
124
|
+
COMPUTER MOVES TO SQUARE 158
|
125
|
+
|
126
|
+
NICE TRY, BUT IT LOOKS LIKE I HAVE WON.
|
127
|
+
THANKS FOR PLAYING.
|
128
|
+
|
129
|
+
ANYONE ELSE CARE TO TRY? NO
|
130
|
+
|
131
|
+
|
132
|
+
OK --- THANKS AGAIN.
|
133
|
+
Break in line 4060
|
@@ -0,0 +1,62 @@
|
|
1
|
+
10 PRINT TAB(32);"REVERSE"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
100 PRINT "REVERSE -- A GAME OF SKILL": PRINT
|
5
|
+
130 DIM A(20)
|
6
|
+
140 REM *** N=NUMBER OF NUMBERS
|
7
|
+
150 N=9
|
8
|
+
160 PRINT "DO YOU WANT THE RULES";
|
9
|
+
170 INPUT A$
|
10
|
+
180 IF A$="NO" THEN 210
|
11
|
+
190 GOSUB 710
|
12
|
+
200 REM *** MAKE A RANDOM LIST A(1) TO A(N)
|
13
|
+
210 A(1)=INT((N-1)*RND(1)+2)
|
14
|
+
220 FOR K=2 TO N
|
15
|
+
230 A(K)=INT(N*RND(1)+1)
|
16
|
+
240 FOR J=1 TO K-1
|
17
|
+
250 IF A(K)=A(J) THEN 230
|
18
|
+
260 NEXT J:NEXT K
|
19
|
+
280 REM *** PRINT ORIGINAL LIST AND START GAME
|
20
|
+
290 PRINT: PRINT "HERE WE GO ... THE LIST IS:"
|
21
|
+
310 T=0
|
22
|
+
320 GOSUB 610
|
23
|
+
330 PRINT "HOW MANY SHALL I REVERSE";
|
24
|
+
340 INPUT R
|
25
|
+
350 IF R=0 THEN 520
|
26
|
+
360 IF R<=N THEN 390
|
27
|
+
370 PRINT "OOPS! TOO MANY! I CAN REVERSE AT MOST";N:GOTO 330
|
28
|
+
390 T=T+1
|
29
|
+
400 REM *** REVERSE R NUMBERS AND PRINT NEW LIST
|
30
|
+
410 FOR K=1 TO INT(R/2)
|
31
|
+
420 Z=A(K)
|
32
|
+
430 A(K)=A(R-K+1)
|
33
|
+
440 A(R-K+1)=Z
|
34
|
+
450 NEXT K
|
35
|
+
460 GOSUB 610
|
36
|
+
470 REM *** CHECK FOR A WIN
|
37
|
+
480 FOR K=1 TO N
|
38
|
+
490 IF A(K)<>K THEN 330
|
39
|
+
500 NEXT K
|
40
|
+
510 PRINT "YOU WON IT IN";T;"MOVES!!!":PRINT
|
41
|
+
520 PRINT
|
42
|
+
530 PRINT "TRY AGAIN (YES OR NO)";
|
43
|
+
540 INPUT A$
|
44
|
+
550 IF A$="YES" THEN 210
|
45
|
+
560 PRINT: PRINT "O.K. HOPE YOU HAD FUN!!":GOTO 999
|
46
|
+
600 REM *** SUBROUTINE TO PRINT LIST
|
47
|
+
610 PRINT:FOR K=1 TO N:PRINT A(K);:NEXT K
|
48
|
+
650 PRINT:PRINT:RETURN
|
49
|
+
700 REM *** SUBROUTINE TO PRINT THE RULES
|
50
|
+
710 PRINT:PRINT "THIS IS THE GAME OF 'REVERSE'. TO WIN, ALL YOU HAVE"
|
51
|
+
720 PRINT "TO DO IS ARRANGE A LIST OF NUMBERS (1 THROUGH";N;")"
|
52
|
+
730 PRINT "IN NUMERICAL ORDER FROM LEFT TO RIGHT. TO MOVE, YOU"
|
53
|
+
740 PRINT "TELL ME HOW MANY NUMBERS (COUNTING FROM THE LEFT) TO"
|
54
|
+
750 PRINT "REVERSE. FOR EXAMPLE, IF THE CURRENT LIST IS:"
|
55
|
+
760 PRINT:PRINT "2 3 4 5 1 6 7 8 9"
|
56
|
+
770 PRINT:PRINT "AND YOU REVERSE 4, THE RESULT WILL BE:"
|
57
|
+
780 PRINT:PRINT "5 4 3 2 1 6 7 8 9"
|
58
|
+
790 PRINT:PRINT "NOW IF YOU REVERSE 5, YOU WIN!"
|
59
|
+
800 PRINT:PRINT "1 2 3 4 5 6 7 8 9":PRINT
|
60
|
+
810 PRINT "NO DOUBT YOU WILL LIKE THIS GAME, BUT"
|
61
|
+
820 PRINT "IF YOU WANT TO QUIT, REVERSE 0 (ZERO).":PRINT: RETURN
|
62
|
+
999 END
|
@@ -0,0 +1,79 @@
|
|
1
|
+
REVERSE
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
REVERSE -- A GAME OF SKILL
|
7
|
+
|
8
|
+
DO YOU WANT THE RULES? YES
|
9
|
+
|
10
|
+
THIS IS THE GAME OF 'REVERSE'. TO WIN, ALL YOU HAVE
|
11
|
+
TO DO IS ARRANGE A LIST OF NUMBERS (1 THROUGH 9 )
|
12
|
+
IN NUMERICAL ORDER FROM LEFT TO RIGHT. TO MOVE, YOU
|
13
|
+
TELL ME HOW MANY NUMBERS (COUNTING FROM THE LEFT) TO
|
14
|
+
REVERSE. FOR EXAMPLE, IF THE CURRENT LIST IS:
|
15
|
+
|
16
|
+
2 3 4 5 1 6 7 8 9
|
17
|
+
|
18
|
+
AND YOU REVERSE 4, THE RESULT WILL BE:
|
19
|
+
|
20
|
+
5 4 3 2 1 6 7 8 9
|
21
|
+
|
22
|
+
NOW IF YOU REVERSE 5, YOU WIN!
|
23
|
+
|
24
|
+
1 2 3 4 5 6 7 8 9
|
25
|
+
|
26
|
+
NO DOUBT YOU WILL LIKE THIS GAME, BUT
|
27
|
+
IF YOU WANT TO QUIT, REVERSE 0 (ZERO).
|
28
|
+
|
29
|
+
|
30
|
+
HERE WE GO ... THE LIST IS:
|
31
|
+
|
32
|
+
6 7 5 4 9 8 1 2 3
|
33
|
+
|
34
|
+
HOW MANY SHALL I REVERSE? 5
|
35
|
+
|
36
|
+
9 4 5 7 6 8 1 2 3
|
37
|
+
|
38
|
+
HOW MANY SHALL I REVERSE? 9
|
39
|
+
|
40
|
+
3 2 1 8 6 7 5 4 9
|
41
|
+
|
42
|
+
HOW MANY SHALL I REVERSE? 4
|
43
|
+
|
44
|
+
8 1 2 3 6 7 5 4 9
|
45
|
+
|
46
|
+
HOW MANY SHALL I REVERSE? 8
|
47
|
+
|
48
|
+
4 5 7 6 3 2 1 8 9
|
49
|
+
|
50
|
+
HOW MANY SHALL I REVERSE? 3
|
51
|
+
|
52
|
+
7 5 4 6 3 2 1 8 9
|
53
|
+
|
54
|
+
HOW MANY SHALL I REVERSE? 7
|
55
|
+
|
56
|
+
1 2 3 6 4 5 7 8 9
|
57
|
+
|
58
|
+
HOW MANY SHALL I REVERSE? 4
|
59
|
+
|
60
|
+
6 3 2 1 4 5 7 8 9
|
61
|
+
|
62
|
+
HOW MANY SHALL I REVERSE? 6
|
63
|
+
|
64
|
+
5 4 1 2 3 6 7 8 9
|
65
|
+
|
66
|
+
HOW MANY SHALL I REVERSE? 5
|
67
|
+
|
68
|
+
3 2 1 4 5 6 7 8 9
|
69
|
+
|
70
|
+
HOW MANY SHALL I REVERSE? 3
|
71
|
+
|
72
|
+
1 2 3 4 5 6 7 8 9
|
73
|
+
|
74
|
+
YOU WON IT IN 10 MOVES!!!
|
75
|
+
|
76
|
+
|
77
|
+
TRY AGAIN (YES OR NO)? NO
|
78
|
+
|
79
|
+
O.K. HOPE YOU HAD FUN!!
|
@@ -0,0 +1,71 @@
|
|
1
|
+
10 PRINT TAB(30); "ROCKET"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
70 PRINT "LUNAR LANDING SIMULATION"
|
5
|
+
80 PRINT "----- ------- ----------": PRINT
|
6
|
+
100 INPUT "DO YOU WANT INSTRUCTIONS (YES OR NO)";A$
|
7
|
+
110 IF A$="NO" THEN 390
|
8
|
+
160 PRINT
|
9
|
+
200 PRINT"YOU ARE LANDING ON THE MOON AND AND HAVE TAKEN OVER MANUAL"
|
10
|
+
210 PRINT"CONTROL 1000 FEET ABOVE A GOOD LANDING SPOT. YOU HAVE A DOWN-"
|
11
|
+
220 PRINT"WARD VELOCITY OF 50 FEET/SEC. 150 UNITS OF FUEL REMAIN."
|
12
|
+
225 PRINT
|
13
|
+
230 PRINT"HERE ARE THE RULES THAT GOVERN YOUR APOLLO SPACE-CRAFT:": PRINT
|
14
|
+
240 PRINT"(1) AFTER EACH SECOND THE HEIGHT, VELOCITY, AND REMAINING FUEL"
|
15
|
+
250 PRINT" WILL BE REPORTED VIA DIGBY YOUR ON-BOARD COMPUTER."
|
16
|
+
260 PRINT"(2) AFTER THE REPORT A '?' WILL APPEAR. ENTER THE NUMBER"
|
17
|
+
270 PRINT" OF UNITS OF FUEL YOU WISH TO BURN DURING THE NEXT"
|
18
|
+
280 PRINT" SECOND. EACH UNIT OF FUEL WILL SLOW YOUR DESCENT BY"
|
19
|
+
290 PRINT" 1 FOOT/SEC."
|
20
|
+
310 PRINT"(3) THE MAXIMUM THRUST OF YOUR ENGINE IS 30 FEET/SEC/SEC"
|
21
|
+
320 PRINT" OR 30 UNITS OF FUEL PER SECOND."
|
22
|
+
330 PRINT"(4) WHEN YOU CONTACT THE LUNAR SURFACE. YOUR DESCENT ENGINE"
|
23
|
+
340 PRINT" WILL AUTOMATICALLY SHUT DOWN AND YOU WILL BE GIVEN A"
|
24
|
+
350 PRINT" REPORT OF YOUR LANDING SPEED AND REMAINING FUEL."
|
25
|
+
360 PRINT"(5) IF YOU RUN OUT OF FUEL THE '?' WILL NO LONGER APPEAR"
|
26
|
+
370 PRINT" BUT YOUR SECOND BY SECOND REPORT WILL CONTINUE UNTIL"
|
27
|
+
380 PRINT" YOU CONTACT THE LUNAR SURFACE.":PRINT
|
28
|
+
390 PRINT"BEGINNING LANDING PROCEDURE..........":PRINT
|
29
|
+
400 PRINT"G O O D L U C K ! ! !"
|
30
|
+
420 PRINT:PRINT
|
31
|
+
430 PRINT"SEC FEET SPEED FUEL PLOT OF DISTANCE"
|
32
|
+
450 PRINT
|
33
|
+
455 T=0:H=1000:V=50:F=150
|
34
|
+
490 PRINT T;TAB(6);H;TAB(16);V;TAB(26);F;TAB(35);"I";TAB(H/15);"*"
|
35
|
+
500 INPUT B
|
36
|
+
510 IF B<0 THEN 650
|
37
|
+
520 IF B>30 THEN B=30
|
38
|
+
530 IF B>F THEN B=F
|
39
|
+
540 V1=V-B+5
|
40
|
+
560 F=F-B
|
41
|
+
570 H=H- .5*(V+V1)
|
42
|
+
580 IF H<=0 THEN 670
|
43
|
+
590 T=T+1
|
44
|
+
600 V=V1
|
45
|
+
610 IF F>0 THEN 490
|
46
|
+
615 IF B=0 THEN 640
|
47
|
+
620 PRINT"**** OUT OF FUEL ****"
|
48
|
+
640 PRINT T;TAB(4);H;TAB(12);V;TAB(20);F;TAB(29);"I";TAB(H/12+29);"*"
|
49
|
+
650 B=0
|
50
|
+
660 GOTO 540
|
51
|
+
670 PRINT"***** CONTACT *****"
|
52
|
+
680 H=H+ .5*(V1+V)
|
53
|
+
690 IF B=5 THEN 720
|
54
|
+
700 D=(-V+SQR(V*V+H*(10-2*B)))/(5-B)
|
55
|
+
710 GOTO 730
|
56
|
+
720 D=H/V
|
57
|
+
730 V1=V+(5-B)*D
|
58
|
+
760 PRINT"TOUCHDOWN AT";T+D;"SECONDS."
|
59
|
+
770 PRINT"LANDING VELOCITY=";V1;"FEET/SEC."
|
60
|
+
780 PRINT F;"UNITS OF FUEL REMAINING."
|
61
|
+
790 IF V1<>0 THEN 810
|
62
|
+
800 PRINT"CONGRATULATIONS! A PERFECT LANDING!!"
|
63
|
+
805 PRINT"YOUR LICENSE WILL BE RENEWED.......LATER."
|
64
|
+
810 IF ABS(V1)<2 THEN 840
|
65
|
+
820 PRINT"***** SORRY, BUT YOU BLEW IT!!!!"
|
66
|
+
830 PRINT"APPROPRIATE CONDOLENCES WILL BE SENT TO YOUR NEXT OF KIN."
|
67
|
+
840 PRINT:PRINT:PRINT
|
68
|
+
850 INPUT "ANOTHER MISSION";A$
|
69
|
+
860 IF A$="YES" THEN 390
|
70
|
+
870 PRINT: PRINT "CONTROL OUT.": PRINT
|
71
|
+
999 END
|
@@ -0,0 +1,42 @@
|
|
1
|
+
YES
|
2
|
+
0
|
3
|
+
0
|
4
|
+
0
|
5
|
+
0
|
6
|
+
0
|
7
|
+
0
|
8
|
+
30
|
9
|
+
5
|
10
|
+
5
|
11
|
+
5
|
12
|
+
5
|
13
|
+
5
|
14
|
+
5
|
15
|
+
5
|
16
|
+
5
|
17
|
+
5
|
18
|
+
5
|
19
|
+
YES
|
20
|
+
0
|
21
|
+
0
|
22
|
+
0
|
23
|
+
0
|
24
|
+
0
|
25
|
+
0
|
26
|
+
0
|
27
|
+
0
|
28
|
+
0
|
29
|
+
30
|
30
|
+
30
|
31
|
+
20
|
32
|
+
20
|
33
|
+
5
|
34
|
+
5
|
35
|
+
5
|
36
|
+
5
|
37
|
+
5
|
38
|
+
5
|
39
|
+
10
|
40
|
+
5
|
41
|
+
5
|
42
|
+
NO
|