basic101 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|