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,52 @@
|
|
1
|
+
10 PRINT TAB(30);"GUNNER"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
130 PRINT "YOU ARE THE OFFICER-IN-CHARGE, GIVING ORDERS TO A GUN"
|
5
|
+
140 PRINT "CREW, TELLING THEM THE DEGREES OF ELEVATION YOU ESTIMATE"
|
6
|
+
150 PRINT "WILL PLACE A PROJECTILE ON TARGET. A HIT WITHIN 100 YARDS"
|
7
|
+
160 PRINT "OF THE TARGET WILL DESTROY IT." : PRINT
|
8
|
+
170 R=INT(40000*RND(1)+20000)
|
9
|
+
180 PRINT "MAXIMUM RANGE OF YOUR GUN IS";R;" YARDS."
|
10
|
+
185 Z=0
|
11
|
+
190 PRINT
|
12
|
+
195 S1=0
|
13
|
+
200 T=INT(R*(.1+.8*RND(1)))
|
14
|
+
210 S=0
|
15
|
+
220 GOTO 370
|
16
|
+
230 PRINT "MINIMUM ELEVATION IS ONE DEGREE."
|
17
|
+
240 GOTO 390
|
18
|
+
250 PRINT "MAXIMUM ELEVATION IS 89 DEGREES."
|
19
|
+
260 GOTO 390
|
20
|
+
270 PRINT "OVER TARGET BY ";ABS(E);"YARDS."
|
21
|
+
280 GOTO 390
|
22
|
+
290 PRINT "SHORT OF TARGET BY "ABS(E);"YARDS."
|
23
|
+
300 GOTO 390
|
24
|
+
320 PRINT "*** TARGET DESTROYED *** ";S;"ROUNDS OF AMMUNITION EXPENDED."
|
25
|
+
325 S1=S1+S
|
26
|
+
330 IF Z=4 THEN 490
|
27
|
+
340 Z=Z+1
|
28
|
+
345 PRINT
|
29
|
+
350 PRINT "THE FORWARD OBSERVER HAS SIGHTED MORE ENEMY ACTIVITY..."
|
30
|
+
360 GOTO 200
|
31
|
+
370 PRINT "DISTANCE TO THE TARGET IS "T;" YARDS."
|
32
|
+
380 PRINT
|
33
|
+
390 PRINT
|
34
|
+
400 INPUT "ELEVATION";B
|
35
|
+
420 IF B>89 THEN 250
|
36
|
+
430 IF B<1 THEN 230
|
37
|
+
440 S=S+1
|
38
|
+
442 IF S<6 THEN 450
|
39
|
+
444 PRINT:PRINT "BOOM !!!! YOU HAVE JUST BEEN DESTROYED ";
|
40
|
+
446 PRINT "BY THE ENEMY." : PRINT : PRINT : PRINT : GOTO 495
|
41
|
+
450 B2=2*B/57.3 : I=R*SIN(B2) : X=T-I : E=INT(X)
|
42
|
+
460 IF ABS(E)<100 THEN 320
|
43
|
+
470 IF E>100 THEN 290
|
44
|
+
480 GOTO 270
|
45
|
+
490 PRINT : PRINT : PRINT "TOTAL ROUNDS EXPENDED WERE:";S1
|
46
|
+
492 IF S1>18 THEN 495
|
47
|
+
493 PRINT "NICE SHOOTING !!" : GOTO 500
|
48
|
+
495 PRINT "BETTER GO BACK TO FORT SILL FOR REFRESHER TRAINING!"
|
49
|
+
500 PRINT : INPUT "TRY AGAIN (Y OR N)";Z$
|
50
|
+
510 IF Z$="Y" THEN 170
|
51
|
+
520 PRINT:PRINT "OK. RETURN TO BASE CAMP."
|
52
|
+
999 END
|
@@ -0,0 +1,91 @@
|
|
1
|
+
GUNNER
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
YOU ARE THE OFFICER-IN-CHARGE, GIVING ORDERS TO A GUN
|
7
|
+
CREW, TELLING THEM THE DEGREES OF ELEVATION YOU ESTIMATE
|
8
|
+
WILL PLACE A PROJECTILE ON TARGET. A HIT WITHIN 100 YARDS
|
9
|
+
OF THE TARGET WILL DESTROY IT.
|
10
|
+
|
11
|
+
MAXIMUM RANGE OF YOUR GUN IS 41952 YARDS.
|
12
|
+
|
13
|
+
DISTANCE TO THE TARGET IS 28198 YARDS.
|
14
|
+
|
15
|
+
|
16
|
+
ELEVATION? 45
|
17
|
+
OVER TARGET BY 13754 YARDS.
|
18
|
+
|
19
|
+
ELEVATION? 40
|
20
|
+
OVER TARGET BY 13116 YARDS.
|
21
|
+
|
22
|
+
ELEVATION? 30
|
23
|
+
OVER TARGET BY 8132 YARDS.
|
24
|
+
|
25
|
+
ELEVATION? 25
|
26
|
+
OVER TARGET BY 3938 YARDS.
|
27
|
+
|
28
|
+
ELEVATION? 20
|
29
|
+
SHORT OF TARGET BY 1233 YARDS.
|
30
|
+
|
31
|
+
ELEVATION? 21
|
32
|
+
|
33
|
+
BOOM !!!! YOU HAVE JUST BEEN DESTROYED BY THE ENEMY.
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
BETTER GO BACK TO FORT SILL FOR REFRESHER TRAINING!
|
38
|
+
|
39
|
+
TRY AGAIN (Y OR N)? Y
|
40
|
+
MAXIMUM RANGE OF YOUR GUN IS 44110 YARDS.
|
41
|
+
|
42
|
+
DISTANCE TO THE TARGET IS 23638 YARDS.
|
43
|
+
|
44
|
+
|
45
|
+
ELEVATION? 45
|
46
|
+
OVER TARGET BY 20472 YARDS.
|
47
|
+
|
48
|
+
ELEVATION? 20
|
49
|
+
OVER TARGET BY 4714 YARDS.
|
50
|
+
|
51
|
+
ELEVATION? 10
|
52
|
+
SHORT OF TARGET BY 8552 YARDS.
|
53
|
+
|
54
|
+
ELEVATION? 17
|
55
|
+
OVER TARGET BY 1027 YARDS.
|
56
|
+
|
57
|
+
ELEVATION? 15
|
58
|
+
SHORT OF TARGET BY 1584 YARDS.
|
59
|
+
|
60
|
+
ELEVATION? 16
|
61
|
+
|
62
|
+
BOOM !!!! YOU HAVE JUST BEEN DESTROYED BY THE ENEMY.
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
BETTER GO BACK TO FORT SILL FOR REFRESHER TRAINING!
|
67
|
+
|
68
|
+
TRY AGAIN (Y OR N)? Y
|
69
|
+
MAXIMUM RANGE OF YOUR GUN IS 36946 YARDS.
|
70
|
+
|
71
|
+
DISTANCE TO THE TARGET IS 22785 YARDS.
|
72
|
+
|
73
|
+
|
74
|
+
ELEVATION? 30
|
75
|
+
OVER TARGET BY 9210 YARDS.
|
76
|
+
|
77
|
+
ELEVATION? 20
|
78
|
+
OVER TARGET BY 962 YARDS.
|
79
|
+
|
80
|
+
ELEVATION? 17
|
81
|
+
SHORT OF TARGET BY 2126 YARDS.
|
82
|
+
|
83
|
+
ELEVATION? 19
|
84
|
+
*** TARGET DESTROYED *** 4 ROUNDS OF AMMUNITION EXPENDED.
|
85
|
+
|
86
|
+
THE FORWARD OBSERVER HAS SIGHTED MORE ENEMY ACTIVITY...
|
87
|
+
DISTANCE TO THE TARGET IS 16628 YARDS.
|
88
|
+
|
89
|
+
|
90
|
+
ELEVATION?
|
91
|
+
Error on line 400: No more input
|
@@ -0,0 +1,119 @@
|
|
1
|
+
10 PRINT TAB(32);"HAMURABI"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
80 PRINT "TRY YOUR HAND AT GOVERNING ANCIENT SUMERIA"
|
5
|
+
90 PRINT "FOR A TEN-YEAR TERM OF OFFICE.":PRINT
|
6
|
+
95 D1=0: P1=0
|
7
|
+
100 Z=0: P=95:S=2800: H=3000: E=H-S
|
8
|
+
110 Y=3: A=H/Y: I=5: Q=1
|
9
|
+
210 D=0
|
10
|
+
215 PRINT:PRINT:PRINT "HAMURABI: I BEG TO REPORT TO YOU,": Z=Z+1
|
11
|
+
217 PRINT "IN YEAR";Z;",";D;"PEOPLE STARVED,";I;"CAME TO THE CITY,"
|
12
|
+
218 P=P+I
|
13
|
+
227 IF Q>0 THEN 230
|
14
|
+
228 P=INT(P/2)
|
15
|
+
229 PRINT "A HORRIBLE PLAGUE STRUCK! HALF THE PEOPLE DIED."
|
16
|
+
230 PRINT "POPULATION IS NOW";P
|
17
|
+
232 PRINT "THE CITY NOW OWNS ";A;"ACRES."
|
18
|
+
235 PRINT "YOU HARVESTED";Y;"BUSHELS PER ACRE."
|
19
|
+
250 PRINT "THE RATS ATE";E;"BUSHELS."
|
20
|
+
260 PRINT "YOU NOW HAVE ";S;"BUSHELS IN STORE.": PRINT
|
21
|
+
270 IF Z=11 THEN 860
|
22
|
+
310 C=INT(10*RND(1)): Y=C+17
|
23
|
+
312 PRINT "LAND IS TRADING AT";Y;"BUSHELS PER ACRE."
|
24
|
+
320 PRINT "HOW MANY ACRES DO YOU WISH TO BUY";
|
25
|
+
321 INPUT Q: IF Q<0 THEN 850
|
26
|
+
322 IF Y*Q<=S THEN 330
|
27
|
+
323 GOSUB 710
|
28
|
+
324 GOTO 320
|
29
|
+
330 IF Q=0 THEN 340
|
30
|
+
331 A=A+Q: S=S-Y*Q: C=0
|
31
|
+
334 GOTO 400
|
32
|
+
340 PRINT "HOW MANY ACRES DO YOU WISH TO SELL";
|
33
|
+
341 INPUT Q: IF Q<0 THEN 850
|
34
|
+
342 IF Q<A THEN 350
|
35
|
+
343 GOSUB 720
|
36
|
+
344 GOTO 340
|
37
|
+
350 A=A-Q: S=S+Y*Q: C=0
|
38
|
+
400 PRINT
|
39
|
+
410 PRINT "HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE";
|
40
|
+
411 INPUT Q
|
41
|
+
412 IF Q<0 THEN 850
|
42
|
+
418 REM *** TRYING TO USE MORE GRAIN THAN IS IN SILOS?
|
43
|
+
420 IF Q<=S THEN 430
|
44
|
+
421 GOSUB 710
|
45
|
+
422 GOTO 410
|
46
|
+
430 S=S-Q: C=1: PRINT
|
47
|
+
440 PRINT "HOW MANY ACRES DO YOU WISH TO PLANT WITH SEED";
|
48
|
+
441 INPUT D: IF D=0 THEN 511
|
49
|
+
442 IF D<0 THEN 850
|
50
|
+
444 REM *** TRYING TO PLANT MORE ACRES THAN YOU OWN?
|
51
|
+
445 IF D<=A THEN 450
|
52
|
+
446 GOSUB 720
|
53
|
+
447 GOTO 440
|
54
|
+
449 REM *** ENOUGH GRAIN FOR SEED?
|
55
|
+
450 IF INT(D/2)<=S THEN 455
|
56
|
+
452 GOSUB 710
|
57
|
+
453 GOTO 440
|
58
|
+
454 REM *** ENOUGH PEOPLE TO TEND THE CROPS?
|
59
|
+
455 IF D<10*P THEN 510
|
60
|
+
460 PRINT "BUT YOU HAVE ONLY";P;"PEOPLE TO TEND THE FIELDS! NOW THEN,"
|
61
|
+
470 GOTO 440
|
62
|
+
510 S=S-INT(D/2)
|
63
|
+
511 GOSUB 800
|
64
|
+
512 REM *** A BOUNTIFUL HARVEST!
|
65
|
+
515 Y=C: H=D*Y: E=0
|
66
|
+
521 GOSUB 800
|
67
|
+
522 IF INT(C/2)<>C/2 THEN 530
|
68
|
+
523 REM *** RATS ARE RUNNING WILD!!
|
69
|
+
525 E=INT(S/C)
|
70
|
+
530 S=S-E+H
|
71
|
+
531 GOSUB 800
|
72
|
+
532 REM *** LET'S HAVE SOME BABIES
|
73
|
+
533 I=INT(C*(20*A+S)/P/100+1)
|
74
|
+
539 REM *** HOW MANY PEOPLE HAD FULL TUMMIES?
|
75
|
+
540 C=INT(Q/20)
|
76
|
+
541 REM *** HORROS, A 15% CHANCE OF PLAGUE
|
77
|
+
542 Q=INT(10*(2*RND(1)-.3))
|
78
|
+
550 IF P<C THEN 210
|
79
|
+
551 REM *** STARVE ENOUGH FOR IMPEACHMENT?
|
80
|
+
552 D=P-C: IF D>.45*P THEN 560
|
81
|
+
553 P1=((Z-1)*P1+D*100/P)/Z
|
82
|
+
555 P=C: D1=D1+D: GOTO 215
|
83
|
+
560 PRINT: PRINT "YOU STARVED";D;"PEOPLE IN ONE YEAR!!!"
|
84
|
+
565 PRINT "DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY"
|
85
|
+
566 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU HAVE"
|
86
|
+
567 PRINT "ALSO BEEN DECLARED NATIONAL FINK!!!!": GOTO 990
|
87
|
+
710 PRINT "HAMURABI: THINK AGAIN. YOU HAVE ONLY"
|
88
|
+
711 PRINT S;"BUSHELS OF GRAIN. NOW THEN,"
|
89
|
+
712 RETURN
|
90
|
+
720 PRINT "HAMURABI: THINK AGAIN. YOU OWN ONLY";A;"ACRES. NOW THEN,"
|
91
|
+
730 RETURN
|
92
|
+
800 C=INT(RND(1)*5)+1
|
93
|
+
801 RETURN
|
94
|
+
850 PRINT: PRINT "HAMURABI: I CANNOT DO WHAT YOU WISH."
|
95
|
+
855 PRINT "GET YOURSELF ANOTHER STEWARD!!!!!"
|
96
|
+
857 GOTO 990
|
97
|
+
860 PRINT "IN YOUR 10-YEAR TERM OF OFFICE,";P1;"PERCENT OF THE"
|
98
|
+
862 PRINT "POPULATION STARVED PER YEAR ON THE AVERAGE, I.E. A TOTAL OF"
|
99
|
+
865 PRINT D1;"PEOPLE DIED!!": L=A/P
|
100
|
+
870 PRINT "YOU STARTED WITH 10 ACRES PER PERSON AND ENDED WITH"
|
101
|
+
875 PRINT L;"ACRES PER PERSON.": PRINT
|
102
|
+
880 IF P1>33 THEN 565
|
103
|
+
885 IF L<7 THEN 565
|
104
|
+
890 IF P1>10 THEN 940
|
105
|
+
892 IF L<9 THEN 940
|
106
|
+
895 IF P1>3 THEN 960
|
107
|
+
896 IF L<10 THEN 960
|
108
|
+
900 PRINT "A FANTASTIC PERFORMANCE!!! CHARLEMANGE, DISRAELI, AND"
|
109
|
+
905 PRINT "JEFFERSON COMBINED COULD NOT HAVE DONE BETTER!":GOTO 990
|
110
|
+
940 PRINT "YOUR HEAVY-HANDED PERFORMANCE SMACKS OF NERO AND IVAN IV."
|
111
|
+
945 PRINT "THE PEOPLE (REMIANING) FIND YOU AN UNPLEASANT RULER, AND,"
|
112
|
+
950 PRINT "FRANKLY, HATE YOUR GUTS!!":GOTO 990
|
113
|
+
960 PRINT "YOUR PERFORMANCE COULD HAVE BEEN SOMEWHAT BETTER, BUT"
|
114
|
+
965 PRINT "REALLY WASN'T TOO BAD AT ALL. ";INT(P*.8*RND(1));"PEOPLE"
|
115
|
+
970 PRINT "WOULD DEARLY LIKE TO SEE YOU ASSASSINATED BUT WE ALL HAVE OUR"
|
116
|
+
975 PRINT "TRIVIAL PROBLEMS."
|
117
|
+
990 PRINT: FOR N=1 TO 10: PRINT CHR$(7);: NEXT N
|
118
|
+
995 PRINT "SO LONG FOR NOW.": PRINT
|
119
|
+
999 END
|
@@ -0,0 +1,51 @@
|
|
1
|
+
HAMURABI
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
TRY YOUR HAND AT GOVERNING ANCIENT SUMERIA
|
7
|
+
FOR A TEN-YEAR TERM OF OFFICE.
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
HAMURABI: I BEG TO REPORT TO YOU,
|
12
|
+
IN YEAR 1 , 0 PEOPLE STARVED, 5 CAME TO THE CITY,
|
13
|
+
POPULATION IS NOW 100
|
14
|
+
THE CITY NOW OWNS 1000 ACRES.
|
15
|
+
YOU HARVESTED 3 BUSHELS PER ACRE.
|
16
|
+
THE RATS ATE 200 BUSHELS.
|
17
|
+
YOU NOW HAVE 2800 BUSHELS IN STORE.
|
18
|
+
|
19
|
+
LAND IS TRADING AT 22 BUSHELS PER ACRE.
|
20
|
+
HOW MANY ACRES DO YOU WISH TO BUY? 20
|
21
|
+
|
22
|
+
HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE? 2000
|
23
|
+
|
24
|
+
HOW MANY ACRES DO YOU WISH TO PLANT WITH SEED? 500
|
25
|
+
|
26
|
+
|
27
|
+
HAMURABI: I BEG TO REPORT TO YOU,
|
28
|
+
IN YEAR 2 , 0 PEOPLE STARVED, 7 CAME TO THE CITY,
|
29
|
+
POPULATION IS NOW 107
|
30
|
+
THE CITY NOW OWNS 1020 ACRES.
|
31
|
+
YOU HARVESTED 4 BUSHELS PER ACRE.
|
32
|
+
THE RATS ATE 27 BUSHELS.
|
33
|
+
YOU NOW HAVE 2083 BUSHELS IN STORE.
|
34
|
+
|
35
|
+
LAND IS TRADING AT 23 BUSHELS PER ACRE.
|
36
|
+
HOW MANY ACRES DO YOU WISH TO BUY? 20
|
37
|
+
|
38
|
+
HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE? 1900
|
39
|
+
HAMURABI: THINK AGAIN. YOU HAVE ONLY
|
40
|
+
1623 BUSHELS OF GRAIN. NOW THEN,
|
41
|
+
HOW MANY BUSHELS DO YOU WISH TO FEED YOUR PEOPLE? 600
|
42
|
+
|
43
|
+
HOW MANY ACRES DO YOU WISH TO PLANT WITH SEED? 600
|
44
|
+
|
45
|
+
YOU STARVED 77 PEOPLE IN ONE YEAR!!!
|
46
|
+
DUE TO THIS EXTREME MISMANAGEMENT YOU HAVE NOT ONLY
|
47
|
+
BEEN IMPEACHED AND THROWN OUT OF OFFICE BUT YOU HAVE
|
48
|
+
ALSO BEEN DECLARED NATIONAL FINK!!!!
|
49
|
+
|
50
|
+
SO LONG FOR NOW.
|
51
|
+
|
@@ -0,0 +1,81 @@
|
|
1
|
+
10 PRINT TAB(32);"HANGMAN"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
25 PRINT:PRINT:PRINT
|
4
|
+
30 DIM P$(12,12),L$(20),D$(20),N$(26),U(50)
|
5
|
+
40 C=1: N=50
|
6
|
+
50 FOR I=1 TO 20: D$(I)="-": NEXT I: M=0
|
7
|
+
60 FOR I=1 TO 26: N$(I)="": NEXT I
|
8
|
+
70 FOR I=1 TO 12: FOR J=1 TO 12: P$(I,J)=" ": NEXT J: NEXT I
|
9
|
+
80 FOR I=1 TO 12: P$(I,1)="X": NEXT I
|
10
|
+
90 FOR I=1 TO 7: P$(1,I)="X": NEXT: P$(2,7)="X"
|
11
|
+
95 IF C<N THEN 100
|
12
|
+
97 PRINT "YOU DID ALL THE WORDS!!": STOP
|
13
|
+
100 Q=INT(N*RND(1))+1
|
14
|
+
110 IF U(Q)=1 THEN 100
|
15
|
+
115 U(Q)=1: C=C+1: RESTORE: T1=0
|
16
|
+
150 FOR I=1 TO Q: READ A$: NEXT I
|
17
|
+
160 L=LEN(A$): FOR I=1 TO LEN(A$): L$(I)=MID$(A$,I,1): NEXT I
|
18
|
+
170 PRINT "HERE ARE THE LETTERS YOU USED:"
|
19
|
+
180 FOR I=1 TO 26: PRINT N$(I);: IF N$(I+1)="" THEN 200
|
20
|
+
190 PRINT ",";: NEXT I
|
21
|
+
200 PRINT: PRINT: FOR I=1 TO L: PRINT D$(I);: NEXT I: PRINT: PRINT
|
22
|
+
210 INPUT "WHAT IS YOUR GUESS";G$: R=0
|
23
|
+
220 FOR I=1 TO 26: IF N$(I)="" THEN 250
|
24
|
+
230 IF G$=N$(I) THEN PRINT "YOU GUESSED THAT LETTER BEFORE!": GOTO 170
|
25
|
+
240 NEXT I: PRINT "PROGRAM ERROR. RUN AGAIN.": STOP
|
26
|
+
250 N$(I)=G$: T1=T1+1
|
27
|
+
260 FOR I=1 TO L: IF L$(I)=G$ THEN 280
|
28
|
+
270 NEXT I: IF R=0 THEN 290
|
29
|
+
275 GOTO 300
|
30
|
+
280 D$(I)=G$: R=R+1: GOTO 270
|
31
|
+
290 M=M+1: GOTO 400
|
32
|
+
300 FOR I=1 TO L: IF D$(I)="-" THEN 320
|
33
|
+
310 NEXT I: GOTO 390
|
34
|
+
320 PRINT: FOR I=1 TO L: PRINT D$(I);: NEXT I: PRINT: PRINT
|
35
|
+
330 INPUT "WHAT IS YOUR GUESS FOR THE WORD";B$
|
36
|
+
340 IF A$=B$ THEN 360
|
37
|
+
350 PRINT "WRONG. TRY ANOTHER LETTER.": PRINT: GOTO 170
|
38
|
+
360 PRINT "RIGHT!! IT TOOK YOU";T1;"GUESSES!"
|
39
|
+
370 INPUT "WANT ANOTHER WORD";W$: IF W$="YES" THEN 50
|
40
|
+
380 PRINT: PRINT "IT'S BEEN FUN! BYE FOR NOW.": GOTO 999
|
41
|
+
390 PRINT "YOU FOUND THE WORD!": GOTO 370
|
42
|
+
400 PRINT: PRINT: PRINT"SORRY, THAT LETTER ISN'T IN THE WORD."
|
43
|
+
410 ON M GOTO 415,420,425,430,435,440,445,450,455,460
|
44
|
+
415 PRINT "FIRST, WE DRAW A HEAD": GOTO 470
|
45
|
+
420 PRINT "NOW WE DRAW A BODY.": GOTO 470
|
46
|
+
425 PRINT "NEXT WE DRAW AN ARM.": GOTO 470
|
47
|
+
430 PRINT "THIS TIME IT'S THE OTHER ARM.": GOTO 470
|
48
|
+
435 PRINT "NOW, LET'S DRAW THE RIGHT LEG.": GOTO 470
|
49
|
+
440 PRINT "THIS TIME WE DRAW THE LEFT LEG.": GOTO 470
|
50
|
+
445 PRINT "NOW WE PUT UP A HAND.": GOTO 470
|
51
|
+
450 PRINT "NEXT THE OTHER HAND.": GOTO 470
|
52
|
+
455 PRINT "NOW WE DRAW ONE FOOT": GOTO 470
|
53
|
+
460 PRINT "HERE'S THE OTHER FOOT -- YOU'RE HUNG!!"
|
54
|
+
470 ON M GOTO 480,490,500,510,520,530,540,550,560,570
|
55
|
+
480 P$(3,6)="-": P$(3,7)="-": P$(3,8)="-": P$(4,5)="(": P$(4,6)="."
|
56
|
+
481 P$(4,8)=".":P$(4,9)=")":P$(5,6)="-":P$(5,7)="-":P$(5,8)="-":GOTO 580
|
57
|
+
490 FOR I=6 TO 9: P$(I,7)="X": NEXT I: GOTO 580
|
58
|
+
500 FOR I=4 TO 7: P$(I,I-1)="\": NEXT I: GOTO 580
|
59
|
+
510 P$(4,11)="/": P$(5,10)="/": P$(6,9)="/": P$(7,8)="/": GOTO 580
|
60
|
+
520 P$(10,6)="/": P$(11,5)="/": GOTO 580
|
61
|
+
530 P$(10,8)="\": P$(11,9)="\": GOTO 580
|
62
|
+
540 P$(3,11)="\": GOTO 580
|
63
|
+
550 P$(3,3)="/": GOTO 580
|
64
|
+
560 P$(12,10)="\": P$(12,11)="-": GOTO 580
|
65
|
+
570 P$(12,3)="-": P$(12,4)="/"
|
66
|
+
580 FOR I=1 TO 12: FOR J=1 TO 12: PRINT P$(I,J);: NEXT J
|
67
|
+
590 PRINT: NEXT I: PRINT: PRINT: IF M<>10 THEN 170
|
68
|
+
600 PRINT "SORRY, YOU LOSE. THE WORD WAS ";A$
|
69
|
+
610 PRINT "YOU MISSED THAT ONE. DO YOU ";: GOTO 370
|
70
|
+
620 INPUT "TYPE YES OR NO";Y$: IF LEFT$(Y$,1)="Y" THEN 50
|
71
|
+
700 DATA "GUM","SIN","FOR","CRY","LUG","BYE","FLY"
|
72
|
+
710 DATA "UGLY","EACH","FROM","WORK","TALK","WITH","SELF"
|
73
|
+
720 DATA "PIZZA","THING","FEIGN","FIEND","ELBOW","FAULT","DIRTY"
|
74
|
+
730 DATA "BUDGET","SPIRIT","QUAINT","MAIDEN","ESCORT","PICKAX"
|
75
|
+
740 DATA "EXAMPLE","TENSION","QUININE","KIDNEY","REPLICA","SLEEPER"
|
76
|
+
750 DATA "TRIANGLE","KANGAROO","MAHOGANY","SERGEANT","SEQUENCE"
|
77
|
+
760 DATA "MOUSTACHE","DANGEROUS","SCIENTIST","DIFFERENT","QUIESCENT"
|
78
|
+
770 DATA "MAGISTRATE","ERRONEOUSLY","LOUDSPEAKER","PHYTOTOXIC"
|
79
|
+
780 DATA "MATRIMONIAL","PARASYMPATHOMIMETIC","THIGMOTROPISM"
|
80
|
+
990 PRINT "BYE NOW"
|
81
|
+
999 END
|
@@ -0,0 +1,69 @@
|
|
1
|
+
E
|
2
|
+
T
|
3
|
+
A
|
4
|
+
N
|
5
|
+
R
|
6
|
+
S
|
7
|
+
H
|
8
|
+
M
|
9
|
+
O
|
10
|
+
X
|
11
|
+
B
|
12
|
+
P
|
13
|
+
L
|
14
|
+
L
|
15
|
+
YES
|
16
|
+
E
|
17
|
+
T
|
18
|
+
A
|
19
|
+
O
|
20
|
+
N
|
21
|
+
G
|
22
|
+
S
|
23
|
+
R
|
24
|
+
K
|
25
|
+
B
|
26
|
+
L
|
27
|
+
M
|
28
|
+
H
|
29
|
+
I
|
30
|
+
O
|
31
|
+
Y
|
32
|
+
J
|
33
|
+
G
|
34
|
+
MAHOGANY
|
35
|
+
YES
|
36
|
+
T
|
37
|
+
A
|
38
|
+
E
|
39
|
+
O
|
40
|
+
I
|
41
|
+
S
|
42
|
+
H
|
43
|
+
N
|
44
|
+
R
|
45
|
+
D
|
46
|
+
B
|
47
|
+
G
|
48
|
+
X
|
49
|
+
Y
|
50
|
+
K
|
51
|
+
K
|
52
|
+
YES
|
53
|
+
A
|
54
|
+
B
|
55
|
+
C
|
56
|
+
D
|
57
|
+
E
|
58
|
+
F
|
59
|
+
G
|
60
|
+
H
|
61
|
+
I
|
62
|
+
J
|
63
|
+
K
|
64
|
+
L
|
65
|
+
M
|
66
|
+
N
|
67
|
+
O
|
68
|
+
P
|
69
|
+
NO
|