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,64 @@
|
|
1
|
+
KINEMA
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
A BALL IS THROWN UPWARDS AT 24 METERS PER SECOND.
|
9
|
+
|
10
|
+
HOW HIGH WILL IT GO (IN METERS)? 28
|
11
|
+
CLOSE ENOUGH.
|
12
|
+
CORRECT ANSWER IS 28.8
|
13
|
+
|
14
|
+
HOW LONG UNTIL IT RETURNS (IN SECONDS)? 5
|
15
|
+
CLOSE ENOUGH.
|
16
|
+
CORRECT ANSWER IS 4.8
|
17
|
+
|
18
|
+
WHAT WILL ITS VELOCITY BE AFTER 4.4 SECONDS? -20
|
19
|
+
CLOSE ENOUGH.
|
20
|
+
CORRECT ANSWER IS -20
|
21
|
+
|
22
|
+
|
23
|
+
3 RIGHT OUT OF 3. NOT BAD.
|
24
|
+
|
25
|
+
|
26
|
+
A BALL IS THROWN UPWARDS AT 26 METERS PER SECOND.
|
27
|
+
|
28
|
+
HOW HIGH WILL IT GO (IN METERS)? 30
|
29
|
+
CLOSE ENOUGH.
|
30
|
+
CORRECT ANSWER IS 33.8
|
31
|
+
|
32
|
+
HOW LONG UNTIL IT RETURNS (IN SECONDS)? 5.5
|
33
|
+
CLOSE ENOUGH.
|
34
|
+
CORRECT ANSWER IS 5.2
|
35
|
+
|
36
|
+
WHAT WILL ITS VELOCITY BE AFTER 3.8 SECONDS? -20
|
37
|
+
NOT EVEN CLOSE....
|
38
|
+
CORRECT ANSWER IS -12
|
39
|
+
|
40
|
+
|
41
|
+
2 RIGHT OUT OF 3. NOT BAD.
|
42
|
+
|
43
|
+
|
44
|
+
A BALL IS THROWN UPWARDS AT 19 METERS PER SECOND.
|
45
|
+
|
46
|
+
HOW HIGH WILL IT GO (IN METERS)? 1
|
47
|
+
NOT EVEN CLOSE....
|
48
|
+
CORRECT ANSWER IS 18.05
|
49
|
+
|
50
|
+
HOW LONG UNTIL IT RETURNS (IN SECONDS)? 1
|
51
|
+
NOT EVEN CLOSE....
|
52
|
+
CORRECT ANSWER IS 3.8
|
53
|
+
|
54
|
+
WHAT WILL ITS VELOCITY BE AFTER 3.4 SECONDS? 1
|
55
|
+
NOT EVEN CLOSE....
|
56
|
+
CORRECT ANSWER IS -15
|
57
|
+
|
58
|
+
|
59
|
+
0 RIGHT OUT OF 3.
|
60
|
+
|
61
|
+
A BALL IS THROWN UPWARDS AT 20 METERS PER SECOND.
|
62
|
+
|
63
|
+
HOW HIGH WILL IT GO (IN METERS)?
|
64
|
+
Error on line 500: No more input
|
@@ -0,0 +1,268 @@
|
|
1
|
+
1 PRINT TAB(34);"KING"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT:PRINT:PRINT
|
4
|
+
4 PRINT "DO YOU WANT INSTRUCTIONS";
|
5
|
+
5 INPUT Z$
|
6
|
+
6 N5=8
|
7
|
+
10 IF LEFT$(Z$,1)="N" THEN 47
|
8
|
+
11 IF Z$="AGAIN" THEN 1960
|
9
|
+
12 PRINT:PRINT:PRINT
|
10
|
+
20 PRINT "CONGRATULATIONS! YOU'VE JUST BEEN ELECTED PREMIER OF SETATS"
|
11
|
+
22 PRINT "DETINU, A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR"
|
12
|
+
24 PRINT "JOB IS TO DECIDE UPON THE CONTRY'S BUDGET AND DISTRIBUTE"
|
13
|
+
26 PRINT "MONEY TO YOUR COUNTRYMEN FROM THE COMMUNAL TREASURY."
|
14
|
+
28 PRINT "THE MONEY SYSTEM IS RALLODS, AND EACH PERSON NEEDS 100"
|
15
|
+
30 PRINT "RALLODS PER YEAR TO SURVIVE. YOUR COUNTRY'S INCOME COMES"
|
16
|
+
32 PRINT "FROM FARM PRODUCE AND TOURISTS VISITING YOUR MAGNIFICENT"
|
17
|
+
34 PRINT "FORESTS, HUNTING, FISHING, ETC. HALF YOUR LAND IS FARM LAND"
|
18
|
+
36 PRINT "WHICH ALSO HAS AN EXCELLENT MINERAL CONTENT AND MAY BE SOLD"
|
19
|
+
38 PRINT "TO FOREIGN INDUSTRY (STRIP MINING) WHO IMPORT AND SUPPORT"
|
20
|
+
40 PRINT "THEIR OWN WORKERS. CROPS COST BETWEEN 10 AND 15 RALLODS PER"
|
21
|
+
42 PRINT "SQUARE MILE TO PLANT."
|
22
|
+
44 PRINT "YOUR GOAL IS TO COMPLETE YOUR";N5;"YEAR TERM OF OFFICE."
|
23
|
+
46 PRINT "GOOD LUCK!"
|
24
|
+
47 PRINT
|
25
|
+
50 A=INT(60000+(1000*RND(1))-(1000*RND(1)))
|
26
|
+
55 B=INT(500+(10*RND(1))-(10*RND(1)))
|
27
|
+
65 D=2000
|
28
|
+
100 W=INT(10*RND(1)+95)
|
29
|
+
102 PRINT
|
30
|
+
105 PRINT "YOU NOW HAVE ";A;" RALLODS IN THE TREASURY."
|
31
|
+
110 PRINT INT(B);:PRINT "COUNTRYMEN, ";
|
32
|
+
115 V9=INT(((RND(1)/2)*10+10))
|
33
|
+
120 IF C=0 THEN 140
|
34
|
+
130 PRINT INT(C);"FOREIGN WORKERS, ";
|
35
|
+
140 PRINT "AND";INT(D);"SQ. MILES OF LAND."
|
36
|
+
150 PRINT "THIS YEAR INDUSTRY WILL BUY LAND FOR";W;
|
37
|
+
152 PRINT "RALLODS PER SQUARE MILE."
|
38
|
+
155 PRINT "LAND CURRENTLY COSTS";V9;"RALLODS PER SQUARE MILE TO PLANT."
|
39
|
+
162 PRINT
|
40
|
+
200 PRINT "HOW MANY SQUARE MILES DO YOU WISH TO SELL TO INDUSTRY";
|
41
|
+
210 INPUT H
|
42
|
+
215 IF H<0 THEN 200
|
43
|
+
220 IF H<=D-1000 THEN 300
|
44
|
+
230 PRINT "*** THINK AGAIN. YOU ONLY HAVE";D-1000;"SQUARE MILES OF FARM LAND."
|
45
|
+
240 IF X<>0 THEN 200
|
46
|
+
250 PRINT:PRINT "(FOREIGN INDUSTRY WILL ONLY BUY FARM LAND BECAUSE"
|
47
|
+
260 PRINT "FOREST LAND IS UNECONOMICAL TO STRIP MINE DUE TO TREES,"
|
48
|
+
270 PRINT "THICKER TOP SOIL, ETC.)"
|
49
|
+
280 X=1
|
50
|
+
299 GOTO 200
|
51
|
+
300 D=INT(D-H)
|
52
|
+
310 A=INT(A+(H*W))
|
53
|
+
320 PRINT "HOW MANY RALLODS WILL YOU DISTRIBUTE AMONG YOUR COUNTRYMEN";
|
54
|
+
340 INPUT I
|
55
|
+
342 IF I<0 THEN 320
|
56
|
+
350 IF I<A THEN 400
|
57
|
+
360 IF I=A THEN 380
|
58
|
+
370 PRINT " THINK AGAIN. YOU'VE ONLY";A;" RALLODS IN THE TREASURY"
|
59
|
+
375 GOTO 320
|
60
|
+
380 J=0
|
61
|
+
390 K=0
|
62
|
+
395 A=0
|
63
|
+
399 GOTO 1000
|
64
|
+
400 A=INT(A-I)
|
65
|
+
410 PRINT "HOW MANY SQUARE MILES DO YOU WISH TO PLANT";
|
66
|
+
420 INPUT J
|
67
|
+
421 IF J<0 THEN 410
|
68
|
+
422 IF J<=B*2 THEN 426
|
69
|
+
423 PRINT " SORRY, BUT EACH COUNTRYMAN CAN ONLY PLANT 2 SQ. MILES."
|
70
|
+
424 GOTO 410
|
71
|
+
426 IF J<=D-1000 THEN 430
|
72
|
+
427 PRINT " SORRY, BUT YOU'VE ONLY";D-1000;"SQ. MILES OF FARM LAND."
|
73
|
+
428 GOTO 410
|
74
|
+
430 U1=INT(J*V9)
|
75
|
+
435 IF U1<A THEN 500
|
76
|
+
440 IF U1=A THEN 490
|
77
|
+
450 PRINT " THINK AGAIN. YOU'VE ONLY";A;" RALLODS LEFT IN THE TREASURY."
|
78
|
+
460 GOTO 410
|
79
|
+
490 K=0
|
80
|
+
495 A=0
|
81
|
+
499 GOTO 1000
|
82
|
+
500 A=A-U1
|
83
|
+
510 PRINT "HOW MANY RALLODS DO YOU WISH TO SPEND ON POLLUTION CONTROL";
|
84
|
+
520 INPUT K
|
85
|
+
522 IF K<0 THEN 510
|
86
|
+
530 IF K<=A THEN 1000
|
87
|
+
540 PRINT " THINK AGAIN. YOU ONLY HAVE ";A;" RALLODS REMAINING."
|
88
|
+
550 GOTO 510
|
89
|
+
600 IF H<>0 THEN 1002
|
90
|
+
602 IF I<>0 THEN 1002
|
91
|
+
604 IF J<>0 THEN 1002
|
92
|
+
606 IF K<>0 THEN 1002
|
93
|
+
609 PRINT
|
94
|
+
612 PRINT "GOODBYE."
|
95
|
+
614 PRINT "(IF YOU WISH TO CONTINUE THIS GAME AT A LATER DATE, ANSWER"
|
96
|
+
616 PRINT "'AGAIN' WHEN ASKED IF YOU WANT INSTRUCTIONS AT THE START"
|
97
|
+
617 PRINT "OF THE GAME)."
|
98
|
+
618 STOP
|
99
|
+
1000 GOTO 600
|
100
|
+
1002 PRINT
|
101
|
+
1003 PRINT
|
102
|
+
1010 A=INT(A-K)
|
103
|
+
1020 A4=A
|
104
|
+
1100 IF INT(I/100-B)>=0 THEN 1120
|
105
|
+
1105 IF I/100<50 THEN 1700
|
106
|
+
1110 PRINT INT(B-(I/100));"COUNTRYMEN DIED OF STARVATION"
|
107
|
+
1120 F1=INT(RND(1)*(2000-D))
|
108
|
+
1122 IF K<25 THEN 1130
|
109
|
+
1125 F1=INT(F1/(K/25))
|
110
|
+
1130 IF F1<=0 THEN 1150
|
111
|
+
1140 PRINT F1;"COUNTRYMEN DIED OF CARBON-MONOXIDE AND DUST INHALATION"
|
112
|
+
1150 IF INT((I/100)-B)<0 THEN 1170
|
113
|
+
1160 IF F1>0 THEN 1180
|
114
|
+
1165 GOTO 1200
|
115
|
+
1170 PRINT " YOU WERE FORCED TO SPEND";INT((F1+(B-(I/100)))*9);
|
116
|
+
1172 PRINT "RALLODS ON FUNERAL EXPENSES"
|
117
|
+
1174 B5=INT(F1+(B-(I/100)))
|
118
|
+
1175 A=INT(A-((F1+(B-(I/100)))*9))
|
119
|
+
1176 GOTO 1185
|
120
|
+
1180 PRINT " YOU WERE FORCED TO SPEND ";INT(F1*9);"RALLODS ON ";
|
121
|
+
1181 PRINT "FUNERAL EXPENSES."
|
122
|
+
1182 B5=F1
|
123
|
+
1183 A=INT(A-(F1*9))
|
124
|
+
1185 IF A>=0 THEN 1194
|
125
|
+
1187 PRINT " INSUFFICIENT RESERVES TO COVER COST - LAND WAS SOLD"
|
126
|
+
1189 D=INT(D+(A/W))
|
127
|
+
1190 A=0
|
128
|
+
1194 B=INT(B-B5)
|
129
|
+
1200 IF H=0 THEN 1250
|
130
|
+
1220 C1=INT(H+(RND(1)*10)-(RND(1)*20))
|
131
|
+
1224 IF C>0 THEN 1230
|
132
|
+
1226 C1=C1+20
|
133
|
+
1230 PRINT C1;"WORKERS CAME TO THE COUNTRY AND";
|
134
|
+
1250 P1=INT(((I/100-B)/10)+(K/25)-((2000-D)/50)-(F1/2))
|
135
|
+
1255 PRINT ABS(P1);"COUNTRYMEN ";
|
136
|
+
1260 IF P1<0 THEN 1275
|
137
|
+
1265 PRINT "CAME TO";
|
138
|
+
1270 GOTO 1280
|
139
|
+
1275 PRINT "LEFT";
|
140
|
+
1280 PRINT " THE ISLAND."
|
141
|
+
1290 B=INT(B+P1)
|
142
|
+
1292 C=INT(C+C1)
|
143
|
+
1305 U2=INT(((2000-D)*((RND(1)+1.5)/2)))
|
144
|
+
1310 IF C=0 THEN 1324
|
145
|
+
1320 PRINT "OF ";INT(J);"SQ. MILES PLANTED,";
|
146
|
+
1324 IF J>U2 THEN 1330
|
147
|
+
1326 U2=J
|
148
|
+
1330 PRINT " YOU HARVESTED ";INT(J-U2);"SQ. MILES OF CROPS."
|
149
|
+
1340 IF U2=0 THEN 1370
|
150
|
+
1344 IF T1>=2 THEN 1370
|
151
|
+
1350 PRINT " (DUE TO ";
|
152
|
+
1355 IF T1=0 THEN 1365
|
153
|
+
1360 PRINT "INCREASED ";
|
154
|
+
1365 PRINT "AIR AND WATER POLLUTION FROM FOREIGN INDUSTRY.)"
|
155
|
+
1370 Q=INT((J-U2)*(W/2))
|
156
|
+
1380 PRINT "MAKING";INT(Q);"RALLODS."
|
157
|
+
1390 A=INT(A+Q)
|
158
|
+
1400 V1=INT(((B-P1)*22)+(RND(1)*500))
|
159
|
+
1405 V2=INT((2000-D)*15)
|
160
|
+
1410 PRINT " YOU MADE";ABS(INT(V1-V2));"RALLODS FROM TOURIST TRADE."
|
161
|
+
1420 IF V2=0 THEN 1450
|
162
|
+
1425 IF V1-V2>=V3 THEN 1450
|
163
|
+
1430 PRINT " DECREASE BECAUSE ";
|
164
|
+
1435 G1=10*RND(1)
|
165
|
+
1440 IF G1<=2 THEN 1460
|
166
|
+
1442 IF G1<=4 THEN 1465
|
167
|
+
1444 IF G1<=6 THEN 1470
|
168
|
+
1446 IF G1<=8 THEN 1475
|
169
|
+
1448 IF G1<=10 THEN 1480
|
170
|
+
1450 V3=INT(A+V3)
|
171
|
+
1451 A=INT(A+V3)
|
172
|
+
1452 GOTO 1500
|
173
|
+
1460 PRINT "FISH POPULATION HAS DWINDLED DUE TO WATER POLLUTION."
|
174
|
+
1462 GOTO 1450
|
175
|
+
1465 PRINT "AIR POLLUTION IS KILLING GAME BIRD POPULATION."
|
176
|
+
1467 GOTO 1450
|
177
|
+
1470 PRINT "MINERAL BATHS ARE BEING RUINED BY WATER POLLUTION."
|
178
|
+
1472 GOTO 1450
|
179
|
+
1475 PRINT "UNPLEASANT SMOG IS DISCOURAGING SUN BATHERS."
|
180
|
+
1477 GOTO 1450
|
181
|
+
1480 PRINT "HOTELS ARE LOOKING SHABBY DUE TO SMOG GRIT."
|
182
|
+
1482 GOTO 1450
|
183
|
+
1500 IF B5>200 THEN 1600
|
184
|
+
1505 IF B<343 THEN 1700
|
185
|
+
1510 IF (A4/100)>5 THEN 1800
|
186
|
+
1515 IF C>B THEN 1550
|
187
|
+
1520 IF N5-1=X5 THEN 1900
|
188
|
+
1545 GOTO 2000
|
189
|
+
1550 PRINT
|
190
|
+
1552 PRINT
|
191
|
+
1560 PRINT "THE NUMBER OF FOREIGN WORKERS HAS EXCEEDED THE NUMBER"
|
192
|
+
1562 PRINT "OF COUNTRYMEN. AS A MINORITY, THEY HAVE REVOLTED AND"
|
193
|
+
1564 PRINT "TAKEN OVER THE COUNTRY."
|
194
|
+
1570 IF RND(1)<=.5 THEN 1580
|
195
|
+
1574 PRINT "YOU HAVE BEEN THROWN OUT OF OFFICE AND ARE NOW"
|
196
|
+
1576 PRINT "RESIDING IN PRISON."
|
197
|
+
1578 GOTO 1590
|
198
|
+
1580 PRINT "YOU HAVE BEEN ASSASSINATED."
|
199
|
+
1590 PRINT
|
200
|
+
1592 PRINT
|
201
|
+
1596 STOP
|
202
|
+
1600 PRINT
|
203
|
+
1602 PRINT
|
204
|
+
1610 PRINT B5;"COUNTRYMEN DIED IN ONE YEAR!!!!!"
|
205
|
+
1615 PRINT "DUE TO THIS EXTREME MISMANAGEMENT, YOU HAVE NOT ONLY"
|
206
|
+
1620 PRINT "BEEN IMPEACHED AND THROWN OUT OF OFFICE, BUT YOU"
|
207
|
+
1622 M6=INT(RND(1)*10)
|
208
|
+
1625 IF M6<=3 THEN 1670
|
209
|
+
1630 IF M6<=6 THEN 1680
|
210
|
+
1635 IF M6<=10 THEN 1690
|
211
|
+
1670 PRINT "ALSO HAD YOUR LEFT EYE GOUGED OUT!"
|
212
|
+
1672 GOTO 1590
|
213
|
+
1680 PRINT "HAVE ALSO GAINED A VERY BAD REPUTATION."
|
214
|
+
1682 GOTO 1590
|
215
|
+
1690 PRINT "HAVE ALSO BEEN DECLARED NATIONAL FINK."
|
216
|
+
1692 GOTO 1590
|
217
|
+
1700 PRINT
|
218
|
+
1702 PRINT
|
219
|
+
1710 PRINT "OVER ONE THIRD OF THE POPULTATION HAS DIED SINCE YOU"
|
220
|
+
1715 PRINT "WERE ELECTED TO OFFICE. THE PEOPLE (REMAINING)"
|
221
|
+
1720 PRINT "HATE YOUR GUTS."
|
222
|
+
1730 GOTO 1570
|
223
|
+
1800 IF B5-F1<2 THEN 1515
|
224
|
+
1807 PRINT
|
225
|
+
1815 PRINT "MONEY WAS LEFT OVER IN THE TREASURY WHICH YOU DID"
|
226
|
+
1820 PRINT "NOT SPEND. AS A RESULT, SOME OF YOUR COUNTRYMEN DIED"
|
227
|
+
1825 PRINT "OF STARVATION. THE PUBLIC IS ENRAGED AND YOU HAVE"
|
228
|
+
1830 PRINT "BEEN FORCED TO EITHER RESIGN OR COMMIT SUICIDE."
|
229
|
+
1835 PRINT "THE CHOICE IS YOURS."
|
230
|
+
1840 PRINT "IF YOU CHOOSE THE LATTER, PLEASE TURN OFF YOUR COMPUTER"
|
231
|
+
1845 PRINT "BEFORE PROCEEDING."
|
232
|
+
1850 GOTO 1590
|
233
|
+
1900 PRINT
|
234
|
+
1902 PRINT
|
235
|
+
1920 PRINT "CONGRATULATIONS!!!!!!!!!!!!!!!!!!"
|
236
|
+
1925 PRINT "YOU HAVE SUCCESFULLY COMPLETED YOUR";N5;"YEAR TERM"
|
237
|
+
1930 PRINT "OF OFFICE. YOU WERE, OF COURSE, EXTREMELY LUCKY, BUT"
|
238
|
+
1935 PRINT "NEVERTHELESS, IT'S QUITE AN ACHIEVEMENT. GOODBYE AND GOOD"
|
239
|
+
1940 PRINT "LUCK - YOU'LL PROBABLY NEED IT IF YOU'RE THE TYPE THAT"
|
240
|
+
1945 PRINT "PLAYS THIS GAME."
|
241
|
+
1950 GOTO 1590
|
242
|
+
1960 PRINT "HOW MANY YEARS HAD YOU BEEN IN OFFICE WHEN INTERRUPTED";
|
243
|
+
1961 INPUT X5
|
244
|
+
1962 IF X5<0 THEN 1590
|
245
|
+
1963 IF X5<8 THEN 1969
|
246
|
+
1965 PRINT " COME ON, YOUR TERM IN OFFICE IS ONLY";N5;"YEARS."
|
247
|
+
1967 GOTO 1960
|
248
|
+
1969 PRINT "HOW MUCH DID YOU HAVE IN THE TREASURY";
|
249
|
+
1970 INPUT A
|
250
|
+
1971 IF A<0 THEN 1590
|
251
|
+
1975 PRINT "HOW MANY COUNTRYMEN";
|
252
|
+
1976 INPUT B
|
253
|
+
1977 IF B<0 THEN 1590
|
254
|
+
1980 PRINT "HOW MANY WORKERS";
|
255
|
+
1981 INPUT C
|
256
|
+
1982 IF C<0 THEN 1590
|
257
|
+
1990 PRINT "HOW MANY SQUARE MILES OF LAND";
|
258
|
+
1991 INPUT D
|
259
|
+
1992 IF D<0 THEN 1590
|
260
|
+
1993 IF D>2000 THEN 1996
|
261
|
+
1994 IF D>1000 THEN 100
|
262
|
+
1996 PRINT " COME ON, YOU STARTED WITH 1000 SQ. MILES OF FARM LAND"
|
263
|
+
1997 PRINT " AND 10,000 SQ. MILES OF FOREST LAND."
|
264
|
+
1998 GOTO 1990
|
265
|
+
2000 X5=X5+1
|
266
|
+
2020 B5=0
|
267
|
+
2040 GOTO 100
|
268
|
+
2046 END
|
@@ -0,0 +1,57 @@
|
|
1
|
+
KING
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
DO YOU WANT INSTRUCTIONS? YES
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
CONGRATULATIONS! YOU'VE JUST BEEN ELECTED PREMIER OF SETATS
|
11
|
+
DETINU, A SMALL COMMUNIST ISLAND 30 BY 70 MILES LONG. YOUR
|
12
|
+
JOB IS TO DECIDE UPON THE CONTRY'S BUDGET AND DISTRIBUTE
|
13
|
+
MONEY TO YOUR COUNTRYMEN FROM THE COMMUNAL TREASURY.
|
14
|
+
THE MONEY SYSTEM IS RALLODS, AND EACH PERSON NEEDS 100
|
15
|
+
RALLODS PER YEAR TO SURVIVE. YOUR COUNTRY'S INCOME COMES
|
16
|
+
FROM FARM PRODUCE AND TOURISTS VISITING YOUR MAGNIFICENT
|
17
|
+
FORESTS, HUNTING, FISHING, ETC. HALF YOUR LAND IS FARM LAND
|
18
|
+
WHICH ALSO HAS AN EXCELLENT MINERAL CONTENT AND MAY BE SOLD
|
19
|
+
TO FOREIGN INDUSTRY (STRIP MINING) WHO IMPORT AND SUPPORT
|
20
|
+
THEIR OWN WORKERS. CROPS COST BETWEEN 10 AND 15 RALLODS PER
|
21
|
+
SQUARE MILE TO PLANT.
|
22
|
+
YOUR GOAL IS TO COMPLETE YOUR 8 YEAR TERM OF OFFICE.
|
23
|
+
GOOD LUCK!
|
24
|
+
|
25
|
+
|
26
|
+
YOU NOW HAVE 59833 RALLODS IN THE TREASURY.
|
27
|
+
500 COUNTRYMEN, AND 2000 SQ. MILES OF LAND.
|
28
|
+
THIS YEAR INDUSTRY WILL BUY LAND FOR 99 RALLODS PER SQUARE MILE.
|
29
|
+
LAND CURRENTLY COSTS 13 RALLODS PER SQUARE MILE TO PLANT.
|
30
|
+
|
31
|
+
HOW MANY SQUARE MILES DO YOU WISH TO SELL TO INDUSTRY? 100
|
32
|
+
HOW MANY RALLODS WILL YOU DISTRIBUTE AMONG YOUR COUNTRYMEN? 10000
|
33
|
+
HOW MANY SQUARE MILES DO YOU WISH TO PLANT? 20000
|
34
|
+
SORRY, BUT EACH COUNTRYMAN CAN ONLY PLANT 2 SQ. MILES.
|
35
|
+
HOW MANY SQUARE MILES DO YOU WISH TO PLANT? 1000
|
36
|
+
SORRY, BUT YOU'VE ONLY 900 SQ. MILES OF FARM LAND.
|
37
|
+
HOW MANY SQUARE MILES DO YOU WISH TO PLANT? 900
|
38
|
+
HOW MANY RALLODS DO YOU WISH TO SPEND ON POLLUTION CONTROL? 1000
|
39
|
+
|
40
|
+
|
41
|
+
400 COUNTRYMEN DIED OF STARVATION
|
42
|
+
1 COUNTRYMEN DIED OF CARBON-MONOXIDE AND DUST INHALATION
|
43
|
+
YOU WERE FORCED TO SPEND 3609 RALLODS ON FUNERAL EXPENSES
|
44
|
+
109 WORKERS CAME TO THE COUNTRY AND 37 COUNTRYMEN CAME TO THE ISLAND.
|
45
|
+
OF 900 SQ. MILES PLANTED, YOU HARVESTED 806 SQ. MILES OF CROPS.
|
46
|
+
(DUE TO AIR AND WATER POLLUTION FROM FOREIGN INDUSTRY.)
|
47
|
+
MAKING 39897 RALLODS.
|
48
|
+
YOU MADE 1073 RALLODS FROM TOURIST TRADE.
|
49
|
+
|
50
|
+
|
51
|
+
401 COUNTRYMEN DIED IN ONE YEAR!!!!!
|
52
|
+
DUE TO THIS EXTREME MISMANAGEMENT, YOU HAVE NOT ONLY
|
53
|
+
BEEN IMPEACHED AND THROWN OUT OF OFFICE, BUT YOU
|
54
|
+
HAVE ALSO GAINED A VERY BAD REPUTATION.
|
55
|
+
|
56
|
+
|
57
|
+
Break in line 1596
|
@@ -0,0 +1,246 @@
|
|
1
|
+
2 PRINT TAB(34);"LEM"
|
2
|
+
4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
7 REM ROCKT2 IS AN INTERACTIVE GAME THAT SIMULATES A LUNAR
|
4
|
+
8 REM LANDING IS SIMILAR TO THAT OF THE APOLLO PROGRAM.
|
5
|
+
9 REM THERE IS ABSOLUTELY NO CHANCE INVOLVED
|
6
|
+
10 Z$="GO"
|
7
|
+
15 B1=1
|
8
|
+
20 M=17.95
|
9
|
+
25 F1=5.25
|
10
|
+
30 N=7.5
|
11
|
+
35 R0=926
|
12
|
+
40 V0=1.29
|
13
|
+
45 T=0
|
14
|
+
50 H0=60
|
15
|
+
55 R=R0+H0
|
16
|
+
60 A=-3.425
|
17
|
+
65 R1=0
|
18
|
+
70 A1=8.84361E-04
|
19
|
+
75 R3=0
|
20
|
+
80 A3=0
|
21
|
+
85 M1=7.45
|
22
|
+
90 M0=M1
|
23
|
+
95 B=750
|
24
|
+
100 T1=0
|
25
|
+
105 F=0
|
26
|
+
110 P=0
|
27
|
+
115 N=1
|
28
|
+
120 M2=0
|
29
|
+
125 S=0
|
30
|
+
130 C=0
|
31
|
+
135 IF Z$="YES" THEN 1150
|
32
|
+
140 PRINT
|
33
|
+
145 PRINT "LUNAR LANDING SIMULATION"
|
34
|
+
150 PRINT
|
35
|
+
155 PRINT "HAVE YOU FLOWN AN APOLLO/LEM MISSION BEFORE";
|
36
|
+
160 PRINT " (YES OR NO)";
|
37
|
+
165 INPUT Q$
|
38
|
+
170 IF Q$="YES" THEN 190
|
39
|
+
175 IF Q$="NO" THEN 205
|
40
|
+
180 PRINT "JUST ANSWER THE QUESTION, PLEASE, ";
|
41
|
+
185 GOTO 160
|
42
|
+
190 PRINT
|
43
|
+
195 PRINT "INPUT MEASUREMENT OPTION NUMBER";
|
44
|
+
200 GOTO 225
|
45
|
+
205 PRINT
|
46
|
+
210 PRINT "WHICH SYSTEM OF MEASUREMENT DO YOU PREFER?"
|
47
|
+
215 PRINT " 1=METRIC 0=ENGLISH"
|
48
|
+
220 PRINT "ENTER THE APPROPRIATE NUMBER";
|
49
|
+
225 INPUT K
|
50
|
+
230 PRINT
|
51
|
+
235 IF K=0 THEN 280
|
52
|
+
240 IF K=1 THEN 250
|
53
|
+
245 GOTO 220
|
54
|
+
250 Z=1852.8
|
55
|
+
255 M$="METERS"
|
56
|
+
260 G3=3.6
|
57
|
+
265 N$=" KILOMETERS"
|
58
|
+
270 G5=1000
|
59
|
+
275 GOTO 305
|
60
|
+
280 Z=6080
|
61
|
+
285 M$="FEET"
|
62
|
+
290 G3=.592
|
63
|
+
295 N$="N.MILES"
|
64
|
+
300 G5=Z
|
65
|
+
305 IF B1=3 THEN 670
|
66
|
+
310 IF Q$="YES" THEN 485
|
67
|
+
315 PRINT
|
68
|
+
320 PRINT " YOU ARE ON A LUNAR LANDING MISSION. AS THE PILOT OF"
|
69
|
+
325 PRINT "THE LUNAR EXCURSION MODULE, YOU WILL BE EXPECTED TO"
|
70
|
+
330 PRINT "GIVE CERTAIN COMMANDS TO THE MODULE NAVIGATION SYSTEM."
|
71
|
+
335 PRINT "THE ON-BOARD COMPUTER WILL GIVE A RUNNING ACCOUNT"
|
72
|
+
340 PRINT "OF INFORMATION NEEDED TO NAVIGATE THE SHIP."
|
73
|
+
345 PRINT
|
74
|
+
350 PRINT
|
75
|
+
355 PRINT "THE ATTITUDE ANGLE CALLED FOR IS DESCRIBED AS FOLLOWS."
|
76
|
+
360 PRINT "+ OR -180 DEGREES IS DIRECTLY AWAY FROM THE MOON"
|
77
|
+
365 PRINT "-90 DEGREES IS ON A TANGENT IN THE DIRECTION OF ORBIT"
|
78
|
+
370 PRINT "+90 DEGREES IS ON A TANGENT FROM THE DIRECTION OF ORBIT"
|
79
|
+
375 PRINT "0 (ZERO) DEGREES IS DIRECTLY TOWARD THE MOON"
|
80
|
+
380 PRINT
|
81
|
+
385 PRINT TAB(30);"-180|+180"
|
82
|
+
390 PRINT TAB(34);"^"
|
83
|
+
395 PRINT TAB(27);"-90 < -+- > +90"
|
84
|
+
400 PRINT TAB(34);"!"
|
85
|
+
405 PRINT TAB(34);"0"
|
86
|
+
410 PRINT TAB(21);"<<<< DIRECTION OF ORBIT <<<<"
|
87
|
+
415 PRINT
|
88
|
+
420 PRINT TAB(20);"------ SURFACE OF MOON ------"
|
89
|
+
425 PRINT
|
90
|
+
430 PRINT
|
91
|
+
435 PRINT "ALL ANGLES BETWEEN -180 AND +180 DEGREES ARE ACCEPTED."
|
92
|
+
440 PRINT
|
93
|
+
445 PRINT "1 FUEL UNIT = 1 SEC. AT MAX THRUST"
|
94
|
+
450 PRINT "ANY DISCREPANCIES ARE ACCOUNTED FOR IN THE USE OF FUEL"
|
95
|
+
455 PRINT "FOR AN ATTITUDE CHANGE."
|
96
|
+
460 PRINT "AVAILABLE ENGINE POWER: 0 (ZERO) AND ANY VALUE BETWEEN"
|
97
|
+
465 PRINT "10 AND 100 PERCENT."
|
98
|
+
470 PRINT
|
99
|
+
475 PRINT"NEGATIVE THRUST OR TIME IS PROHIBITED."
|
100
|
+
480 PRINT
|
101
|
+
485 PRINT
|
102
|
+
490 PRINT "INPUT: TIME INTERVAL IN SECONDS ------ (T)"
|
103
|
+
495 PRINT " PERCENTAGE OF THRUST ---------- (P)"
|
104
|
+
500 PRINT " ATTITUDE ANGLE IN DEGREES ----- (A)"
|
105
|
+
505 PRINT
|
106
|
+
510 IF Q$="YES" THEN 535
|
107
|
+
515 PRINT "FOR EXAMPLE:"
|
108
|
+
520 PRINT "T,P,A? 10,65,-60"
|
109
|
+
525 PRINT "TO ABORT THE MISSION AT ANY TIME, ENTER 0,0,0"
|
110
|
+
530 PRINT
|
111
|
+
535 PRINT "OUTPUT: TOTAL TIME IN ELAPSED SECONDS"
|
112
|
+
540 PRINT " HEIGHT IN ";M$
|
113
|
+
545 PRINT " DISTANCE FROM LANDING SITE IN ";M$
|
114
|
+
550 PRINT " VERTICAL VELOCITY IN ";M$;"/SECOND"
|
115
|
+
555 PRINT " HORIZONTAL VELOCITY IN ";M$;"/SECOND"
|
116
|
+
560 PRINT " FUEL UNITS REMAINING"
|
117
|
+
565 PRINT
|
118
|
+
570 GOTO 670
|
119
|
+
575 PRINT
|
120
|
+
580 PRINT "T,P,A";
|
121
|
+
585 INPUT T1,F,P
|
122
|
+
590 F=F/100
|
123
|
+
595 IF T1<0 THEN 905
|
124
|
+
600 IF T1=0 THEN 1090
|
125
|
+
605 IF ABS(F-.05)>1 THEN 945
|
126
|
+
610 IF ABS(F-.05)<.05 THEN 945
|
127
|
+
615 IF ABS(P)>180 THEN 925
|
128
|
+
620 N=20
|
129
|
+
625 IF T1<400 THEN 635
|
130
|
+
630 N=T1/20
|
131
|
+
635 T1=T1/N
|
132
|
+
640 P=P*3.14159/180
|
133
|
+
645 S=SIN(P)
|
134
|
+
650 C=COS(P)
|
135
|
+
655 M2=M0*T1*F/B
|
136
|
+
660 R3=-.5*R0*((V0/R)^2)+R*A1*A1
|
137
|
+
665 A3=-2*R1*A1/R
|
138
|
+
670 FOR I=1 TO N
|
139
|
+
675 IF M1=0 THEN 715
|
140
|
+
680 M1=M1-M2
|
141
|
+
685 IF M1>0 THEN 725
|
142
|
+
690 F=F*(1+M1/M2)
|
143
|
+
695 M2=M1+M2
|
144
|
+
700 PRINT "YOU ARE OUT OF FUEL."
|
145
|
+
705 M1=0
|
146
|
+
710 GOTO 725
|
147
|
+
715 F=0
|
148
|
+
720 M2=0
|
149
|
+
725 M=M-.5*M2
|
150
|
+
730 R4=R3
|
151
|
+
735 R3=-.5*R0*((V0/R)^2)+R*A1*A1
|
152
|
+
740 R2=(3*R3-R4)/2+.00526*F1*F*C/M
|
153
|
+
745 A4=A3
|
154
|
+
750 A3=-2*R1*A1/R
|
155
|
+
755 A2=(3*A3-A4)/2+.0056*F1*F*S/(M*R)
|
156
|
+
760 X=R1*T1+.5*R2*T1*T1
|
157
|
+
765 R=R+X
|
158
|
+
770 H0=H0+X
|
159
|
+
775 R1=R1+R2*T1
|
160
|
+
780 A=A+A1*T1+.5*A2*T1*T1
|
161
|
+
785 A1=A1+A2*T1
|
162
|
+
790 M=M-.5*M2
|
163
|
+
795 T=T+T1
|
164
|
+
800 IF H0<3.287828E-04 THEN 810
|
165
|
+
805 NEXT I
|
166
|
+
810 H=H0*Z
|
167
|
+
815 H1=R1*Z
|
168
|
+
820 D=R0*A*Z
|
169
|
+
825 D1=R*A1*Z
|
170
|
+
830 T2=M1*B/M0
|
171
|
+
835 PRINT " ";T;TAB(10);H;TAB(23);D;
|
172
|
+
840 PRINT TAB(37);H1;TAB(49);D1;TAB(60);T2
|
173
|
+
845 IF H0<3.287828E-04 THEN 880
|
174
|
+
850 IF R0*A>164.474 THEN 1050
|
175
|
+
855 IF M1>0 THEN 580
|
176
|
+
860 T1=20
|
177
|
+
865 F=0
|
178
|
+
870 P=0
|
179
|
+
875 GOTO 620
|
180
|
+
880 IF R1<-8.21957E-04 THEN 1020
|
181
|
+
885 IF ABS(R*A1)>4.93174E-04 THEN 1020
|
182
|
+
890 IF H0<-3.287828E-04 THEN 1020
|
183
|
+
895 IF ABS(D)>10*Z THEN 1065
|
184
|
+
900 GOTO 995
|
185
|
+
905 PRINT
|
186
|
+
910 PRINT "THIS SPACECRAFT IS NOT ABLE TO VIOLATE THE SPACE-";
|
187
|
+
915 PRINT "TIME CONTINUUM."
|
188
|
+
920 GOTO 575
|
189
|
+
925 PRINT
|
190
|
+
930 PRINT "IF YOU WANT TO SPIN AROUND, GO OUTSIDE THE MODULE"
|
191
|
+
935 PRINT "FOR AN E.V.A."
|
192
|
+
940 GOTO 575
|
193
|
+
945 PRINT
|
194
|
+
950 PRINT "IMPOSSIBLE THRUST VALUE ";
|
195
|
+
955 IF F<0 THEN 985
|
196
|
+
960 IF F-.05<.05 THEN 975
|
197
|
+
965 PRINT "TOO LARGE"
|
198
|
+
970 GOTO 575
|
199
|
+
975 PRINT "TOO SMALL"
|
200
|
+
980 GOTO 575
|
201
|
+
985 PRINT "NEGATIVE"
|
202
|
+
990 GOTO 575
|
203
|
+
995 PRINT
|
204
|
+
1000 PRINT "TRANQUILITY BASE HERE -- THE EAGLE HAS LANDED."
|
205
|
+
1005 PRINT "CONGRATULATIONS -- THERE WAS NO SPACECRAFT DAMAGE."
|
206
|
+
1010 PRINT "YOU MAY NOW PROCEED WITH SURFACE EXPLORATION."
|
207
|
+
1015 GOTO 1100
|
208
|
+
1020 PRINT
|
209
|
+
1025 PRINT "CRASH !!!!!!!!!!!!!!!!"
|
210
|
+
1030 PRINT "YOUR IMPACT CREATED A CRATER";ABS(H);M$;" DEEP."
|
211
|
+
1035 X1=SQR(D1*D1+H1*H1)*G3
|
212
|
+
1040 PRINT "AT CONTACT YOU WERE TRAVELING";X1;N$;"/HR"
|
213
|
+
1045 GOTO 1100
|
214
|
+
1050 PRINT
|
215
|
+
1055 PRINT "YOU HAVE BEEN LOST IN SPACE WITH NO HOPE OF RECOVERY."
|
216
|
+
1060 GOTO 1100
|
217
|
+
1065 PRINT "YOU ARE DOWN SAFELY - "
|
218
|
+
1075 PRINT
|
219
|
+
1080 PRINT "BUT MISSED THE LANDING SITE BY";ABS(D/G5);N$;"."
|
220
|
+
1085 GOTO 1100
|
221
|
+
1090 PRINT
|
222
|
+
1095 PRINT "MISSION ABENDED"
|
223
|
+
1100 PRINT
|
224
|
+
1105 PRINT "DO YOU WANT TO TRY IT AGAIN (YES/NO)?"
|
225
|
+
1110 INPUT Z$
|
226
|
+
1115 IF Z$="YES" THEN 20
|
227
|
+
1120 IF Z$="NO" THEN 1130
|
228
|
+
1125 GOTO 1105
|
229
|
+
1130 PRINT
|
230
|
+
1135 PRINT "TOO BAD, THE SPACE PROGRAM HATES TO LOSE EXPERIENCED"
|
231
|
+
1140 PRINT "ASTRONAUTS."
|
232
|
+
1145 STOP
|
233
|
+
1150 PRINT
|
234
|
+
1155 PRINT "OK, DO YOU WANT THE COMPLETE INSTRUCTIONS OR THE INPUT -"
|
235
|
+
1160 PRINT "OUTPUT STATEMENTS?"
|
236
|
+
1165 PRINT "1=COMPLETE INSTRUCTIONS"
|
237
|
+
1170 PRINT "2=INPUT-OUTPUT STATEMENTS"
|
238
|
+
1175 PRINT "3=NEITHER"
|
239
|
+
1180 INPUT B1
|
240
|
+
1185 Q$="NO"
|
241
|
+
1190 IF B1=1 THEN 205
|
242
|
+
1195 Q$="YES"
|
243
|
+
1200 IF B1=2 THEN 190
|
244
|
+
1205 IF B1=3 THEN 190
|
245
|
+
1210 GOTO 1165
|
246
|
+
1215 END
|