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,54 @@
|
|
1
|
+
10 PRINT TAB(34);"STARS"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
100 REM *** STARS - PEOPLE'S COMPUTER CENTER, MENLO PARK, CA
|
5
|
+
140 REM *** A IS LIMIT ON NUMBER, M IS NUMBER OF GUESSES
|
6
|
+
150 A=100:M=7
|
7
|
+
170 INPUT "DO YOU WANT INSTRUCTIONS";A$
|
8
|
+
190 IF LEFT$(A$,1)="N" THEN 280
|
9
|
+
200 REM *** INSTRUCTIONS ON HOW TO PLAY
|
10
|
+
210 PRINT "I AM THINKING OF A WHOLE NUMBER FROM 1 TO";A
|
11
|
+
220 PRINT "TRY TO GUESS MY NUMBER. AFTER YOU GUESS, I"
|
12
|
+
230 PRINT "WILL TYPE ONE OR MORE STARS (*). THE MORE"
|
13
|
+
240 PRINT "STARS I TYPE, THE CLOSER YOU ARE TO MY NUMBER."
|
14
|
+
250 PRINT "ONE STAR (*) MEANS FAR AWAY, SEVEN STARS (*******)"
|
15
|
+
260 PRINT "MEANS REALLY CLOSE! YOU GET";M;"GUESSES."
|
16
|
+
270 REM *** COMPUTER THINKS OF A NUMBER
|
17
|
+
280 PRINT
|
18
|
+
290 PRINT
|
19
|
+
300 X=INT(A*RND(1)+1)
|
20
|
+
310 PRINT "OK, I AM THINKING OF A NUMBER, START GUESSING."
|
21
|
+
320 REM *** GUESSING BEGINS, HUMAN GETS M GUESSES
|
22
|
+
330 FOR K=1 TO M
|
23
|
+
340 PRINT
|
24
|
+
350 PRINT "YOUR GUESS";
|
25
|
+
360 INPUT G
|
26
|
+
370 IF G=X THEN 600
|
27
|
+
380 D=ABS(G-X)
|
28
|
+
390 IF D>=64 THEN 510
|
29
|
+
400 IF D>=32 THEN 500
|
30
|
+
410 IF D>=16 THEN 490
|
31
|
+
420 IF D>=8 THEN 480
|
32
|
+
430 IF D>=4 THEN 470
|
33
|
+
440 IF D>=2 THEN 460
|
34
|
+
450 PRINT "*";
|
35
|
+
460 PRINT "*";
|
36
|
+
470 PRINT "*";
|
37
|
+
480 PRINT "*";
|
38
|
+
490 PRINT "*";
|
39
|
+
500 PRINT "*";
|
40
|
+
510 PRINT "*";
|
41
|
+
520 PRINT
|
42
|
+
530 NEXT K
|
43
|
+
540 REM *** DID NOT GUESS IN M GUESSES
|
44
|
+
550 PRINT
|
45
|
+
560 PRINT "SORRY, THAT'S";M;"GUESSES. THE NUMBER WAS";X
|
46
|
+
580 GOTO 650
|
47
|
+
590 REM *** WE HAVE A WINNER
|
48
|
+
600 PRINT:FOR N=1 TO 79
|
49
|
+
610 PRINT "*";
|
50
|
+
620 NEXT N
|
51
|
+
630 PRINT:PRINT
|
52
|
+
640 PRINT "YOU GOT IT IN";K;"GUESSES!!! LET'S PLAY AGAIN..."
|
53
|
+
650 GOTO 280
|
54
|
+
660 END
|
@@ -0,0 +1,70 @@
|
|
1
|
+
STARS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
DO YOU WANT INSTRUCTIONS? YES
|
7
|
+
I AM THINKING OF A WHOLE NUMBER FROM 1 TO 100
|
8
|
+
TRY TO GUESS MY NUMBER. AFTER YOU GUESS, I
|
9
|
+
WILL TYPE ONE OR MORE STARS (*). THE MORE
|
10
|
+
STARS I TYPE, THE CLOSER YOU ARE TO MY NUMBER.
|
11
|
+
ONE STAR (*) MEANS FAR AWAY, SEVEN STARS (*******)
|
12
|
+
MEANS REALLY CLOSE! YOU GET 7 GUESSES.
|
13
|
+
|
14
|
+
|
15
|
+
OK, I AM THINKING OF A NUMBER, START GUESSING.
|
16
|
+
|
17
|
+
YOUR GUESS? 50
|
18
|
+
*****
|
19
|
+
|
20
|
+
YOUR GUESS? 75
|
21
|
+
***
|
22
|
+
|
23
|
+
YOUR GUESS? 25
|
24
|
+
***
|
25
|
+
|
26
|
+
YOUR GUESS? 38
|
27
|
+
***
|
28
|
+
|
29
|
+
YOUR GUESS? 62
|
30
|
+
*****
|
31
|
+
|
32
|
+
YOUR GUESS? 66
|
33
|
+
****
|
34
|
+
|
35
|
+
YOUR GUESS? 58
|
36
|
+
******
|
37
|
+
|
38
|
+
SORRY, THAT'S 7 GUESSES. THE NUMBER WAS 55
|
39
|
+
|
40
|
+
|
41
|
+
OK, I AM THINKING OF A NUMBER, START GUESSING.
|
42
|
+
|
43
|
+
YOUR GUESS? 40
|
44
|
+
**
|
45
|
+
|
46
|
+
YOUR GUESS? 80
|
47
|
+
****
|
48
|
+
|
49
|
+
YOUR GUESS? 60
|
50
|
+
****
|
51
|
+
|
52
|
+
YOUR GUESS? 70
|
53
|
+
******
|
54
|
+
|
55
|
+
YOUR GUESS? 75
|
56
|
+
******
|
57
|
+
|
58
|
+
YOUR GUESS? 78
|
59
|
+
*****
|
60
|
+
|
61
|
+
YOUR GUESS? 73
|
62
|
+
*******
|
63
|
+
|
64
|
+
SORRY, THAT'S 7 GUESSES. THE NUMBER WAS 72
|
65
|
+
|
66
|
+
|
67
|
+
OK, I AM THINKING OF A NUMBER, START GUESSING.
|
68
|
+
|
69
|
+
YOUR GUESS?
|
70
|
+
Error on line 360: No more input
|
@@ -0,0 +1,232 @@
|
|
1
|
+
10 PRINT TAB(30);"STOCK MARKET"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT: PRINT: PRINT
|
4
|
+
100 REM STOCK MARKET SIMULATION -STOCK-
|
5
|
+
101 REM REVISED 8/18/70 (D. PESSEL, L. BRAUN, C. LOSIK)
|
6
|
+
102 REM IMP VRBLS: A-MRKT TRND SLP; B5-BRKRGE FEE; C-TTL CSH ASSTS;
|
7
|
+
103 REM C5-TTL CSH ASSTS (TEMP); C(I)-CHNG IN STK VAL; D-TTL ASSTS;
|
8
|
+
104 REM E1,E2-LRG CHNG MISC; I-STCK #; I1,I2-STCKS W LRG CHNG;
|
9
|
+
105 REM N1,N2-LRG CHNG DAY CNTS; P5-TTL DAYS PRCHSS; P(I)-PRTFL CNTNTS;
|
10
|
+
106 REM Q9-NEW CYCL?; S4-SGN OF A; S5-TTL DYS SLS; S(I)-VALUE/SHR;
|
11
|
+
107 REM T-TTL STCK ASSTS; T5-TTL VAL OF TRNSCTNS;
|
12
|
+
108 REM W3-LRG CHNG; X1-SMLL CHNG(<$1); Z4,Z5,Z6-NYSE AVE.; Z(I)-TRNSCT
|
13
|
+
110 DIM S(5),P(5),Z(5),C(5)
|
14
|
+
112 REM SLOPE OF MARKET TREND:A (SAME FOR ALL STOCKS)
|
15
|
+
113 LET X=1
|
16
|
+
114 LET A=INT((RND(X)/10)*100+.5)/100
|
17
|
+
115 LET T5=0
|
18
|
+
116 LET X9=0
|
19
|
+
117 LET N1=0
|
20
|
+
118 LET N2=0
|
21
|
+
119 LET E1=0
|
22
|
+
120 LET E2=0
|
23
|
+
121 REM INTRODUCTION
|
24
|
+
122 PRINT "DO YOU WANT THE INSTRUCTIONS (YES-TYPE 1, NO-TYPE 0)";
|
25
|
+
123 INPUT Z9
|
26
|
+
124 PRINT
|
27
|
+
125 PRINT
|
28
|
+
126 IF Z9<1 THEN 200
|
29
|
+
130 PRINT "THIS PROGRAM PLAYS THE STOCK MARKET. YOU WILL BE GIVEN"
|
30
|
+
132 PRINT "$10,000 AND MAY BUY OR SELL STOCKS. THE STOCK PRICES WILL"
|
31
|
+
134 PRINT "BE GENERATED RANDOMLY AND THEREFORE THIS MODEL DOES NOT"
|
32
|
+
135 PRINT "REPRESENT EXACTLY WHAT HAPPENS ON THE EXCHANGE. A TABLE"
|
33
|
+
136 PRINT "OF AVAILABLE STOCKS, THEIR PRICES, AND THE NUMBER OF SHARES"
|
34
|
+
137 PRINT "IN YOUR PORTFOLIO WILL BE PRINTED. FOLLOWING THIS, THE"
|
35
|
+
138 PRINT "INITIALS OF EACH STOCK WILL BE PRINTED WITH A QUESTION"
|
36
|
+
139 PRINT "MARK. HERE YOU INDICATE A TRANSACTION. TO BUY A STOCK"
|
37
|
+
140 PRINT "TYPE +NNN, TO SELL A STOCK TYPE -NNN, WHERE NNN IS THE"
|
38
|
+
141 PRINT "NUMBER OF SHARES. A BROKERAGE FEE OF 1% WILL BE CHARGED"
|
39
|
+
142 PRINT "ON ALL TRANSACTIONS. NOTE THAT IF A STOCK'S VALUE DROPS"
|
40
|
+
143 PRINT "TO ZERO IT MAY REBOUND TO A POSITIVE VALUE AGAIN. YOU"
|
41
|
+
144 PRINT "HAVE $10,000 TO INVEST. USE INTEGERS FOR ALL YOUR INPUTS."
|
42
|
+
145 PRINT "(NOTE: TO GET A 'FEEL' FOR THE MARKET RUN FOR AT LEAST"
|
43
|
+
146 PRINT "10 DAYS)"
|
44
|
+
147 PRINT "-----GOOD LUCK!-----"
|
45
|
+
200 REM GENERATION OF STOCK TABLE; INPUT REQUESTS
|
46
|
+
210 REM INITIAL STOCK VALUES
|
47
|
+
220 LET S(1)=100
|
48
|
+
230 LET S(2)=85
|
49
|
+
240 LET S(3)=150
|
50
|
+
250 LET S(4)=140
|
51
|
+
260 LET S(5)=110
|
52
|
+
265 REM INITIAL T8 - # DAYS FOR FIRST TREND SLOPE (A)
|
53
|
+
266 LET T8=INT(4.99*RND(X)+1)
|
54
|
+
267 REM RANDOMIZE SIGN OF FIRST TREND SLOPE (A)
|
55
|
+
268 IF RND(X)>.5 THEN 270
|
56
|
+
269 LET A=-A
|
57
|
+
270 REM RANDOMIZE INITIAL VALUES
|
58
|
+
280 GOSUB 830
|
59
|
+
285 REM INITIAL PORTFOLIO CONTENTS
|
60
|
+
290 FOR I=1 TO 5
|
61
|
+
300 LET P(I)=0
|
62
|
+
305 LET Z(I)=0
|
63
|
+
310 NEXT I
|
64
|
+
320 PRINT
|
65
|
+
330 PRINT
|
66
|
+
333 REM INITIALIZE CASH ASSETS:C
|
67
|
+
335 LET C=10000
|
68
|
+
338 REM PRINT INITIAL PORTFOLIO
|
69
|
+
340 PRINT "STOCK"," ","INITIALS","PRICE/SHARE"
|
70
|
+
350 PRINT "INT. BALLISTIC MISSILES"," IBM",S(1)
|
71
|
+
352 PRINT "RED CROSS OF AMERICA"," RCA",S(2)
|
72
|
+
354 PRINT "LICHTENSTEIN, BUMRAP & JOKE"," LBJ",S(3)
|
73
|
+
356 PRINT "AMERICAN BANKRUPT CO."," ABC",S(4)
|
74
|
+
358 PRINT "CENSURED BOOKS STORE"," CBS",S(5)
|
75
|
+
360 PRINT
|
76
|
+
361 REM NYSE AVERAGE:Z5; TEMP. VALUE:Z4; NET CHANGE:Z6
|
77
|
+
363 LET Z4=Z5
|
78
|
+
364 LET Z5=0
|
79
|
+
365 LET T=0
|
80
|
+
370 FOR I=1 TO 5
|
81
|
+
375 LET Z5=Z5+S(I)
|
82
|
+
380 LET T=T+S(I)*P(I)
|
83
|
+
390 NEXT I
|
84
|
+
391 LET Z5=INT(100*(Z5/5)+.5)/100
|
85
|
+
392 LET Z6=INT((Z5-Z4)*100+.5)/100
|
86
|
+
393 REM TOTAL ASSETS:D
|
87
|
+
394 LET D=T+C
|
88
|
+
395 IF X9>0 THEN 398
|
89
|
+
396 PRINT "NEW YORK STOCK EXCHANGE AVERAGE: "Z5
|
90
|
+
397 GOTO 399
|
91
|
+
398 PRINT "NEW YORK STOCK EXCHANGE AVERAGE: "Z5"NET CHANGE"Z6
|
92
|
+
399 PRINT
|
93
|
+
400 LET T=INT(100*T+.5)/100
|
94
|
+
401 PRINT "TOTAL STOCK ASSETS ARE $";T
|
95
|
+
403 LET C=INT(100*C+.5)/100
|
96
|
+
405 PRINT "TOTAL CASH ASSETS ARE $";C
|
97
|
+
407 LET D=INT(100*D+.5)/100
|
98
|
+
408 PRINT "TOTAL ASSETS ARE $";D
|
99
|
+
410 PRINT
|
100
|
+
411 IF X9=0 THEN 416
|
101
|
+
412 PRINT "DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)";
|
102
|
+
413 INPUT Q9
|
103
|
+
414 IF Q9<1 THEN 998
|
104
|
+
416 REM INPUT TRANSACTIONS
|
105
|
+
420 PRINT "WHAT IS YOUR TRANSACTION IN"
|
106
|
+
430 PRINT "IBM";
|
107
|
+
440 INPUT Z(1)
|
108
|
+
450 PRINT "RCA";
|
109
|
+
460 INPUT Z(2)
|
110
|
+
470 PRINT "LBJ";
|
111
|
+
480 INPUT Z(3)
|
112
|
+
490 PRINT "ABC";
|
113
|
+
500 INPUT Z(4)
|
114
|
+
510 PRINT "CBS";
|
115
|
+
520 INPUT Z(5)
|
116
|
+
525 PRINT
|
117
|
+
530 REM TOTAL DAY'S PURCHASES IN $:P5
|
118
|
+
540 LET P5=0
|
119
|
+
550 REM TOTAL DAY'S SALES IN $:S5
|
120
|
+
560 LET S5=0
|
121
|
+
570 FOR I=1 TO 5
|
122
|
+
575 LET Z(I)=INT(Z(I)+.5)
|
123
|
+
580 IF Z(I)<=0 THEN 610
|
124
|
+
590 LET P5=P5+Z(I)*S(I)
|
125
|
+
600 GOTO 620
|
126
|
+
610 LET S5=S5-Z(I)*S(I)
|
127
|
+
612 IF -Z(I)<=P(I) THEN 620
|
128
|
+
614 PRINT "YOU HAVE OVERSOLD A STOCK; TRY AGAIN."
|
129
|
+
616 GOTO 420
|
130
|
+
620 NEXT I
|
131
|
+
622 REM TOTAL VALUE OF TRANSACTIONS:T5
|
132
|
+
625 LET T5=P5+S5
|
133
|
+
630 REM BROKERAGE FEE:B5
|
134
|
+
640 LET B5=INT(.01*T5*100+.5)/100
|
135
|
+
650 REM CASH ASSETS=OLD CASH ASSETS-TOTAL PURCHASES
|
136
|
+
652 REM -BROKERAGE FEES+TOTAL SALES:C5
|
137
|
+
654 LET C5=C-P5-B5+S5
|
138
|
+
656 IF C5>=0 THEN 674
|
139
|
+
658 PRINT "YOU HAVE USED $";-C5" MORE THAN YOU HAVE."
|
140
|
+
660 GOTO 420
|
141
|
+
674 LET C=C5
|
142
|
+
675 REM CALCULATE NEW PORTFOLIO
|
143
|
+
680 FOR I=1 TO 5
|
144
|
+
690 LET P(I)=P(I)+Z(I)
|
145
|
+
700 NEXT I
|
146
|
+
710 REM CALCULATE NEW STOCK VALUES
|
147
|
+
720 GOSUB 830
|
148
|
+
750 REM PRINT PORTFOLIO
|
149
|
+
751 REM BELL RINGING-DIFFERENT ON MANY COMPUTERS
|
150
|
+
755 PRINT
|
151
|
+
756 PRINT "********** END OF DAY'S TRADING **********"
|
152
|
+
757 PRINT
|
153
|
+
758 PRINT
|
154
|
+
759 IF X9<1 THEN 769
|
155
|
+
769 PRINT "STOCK","PRICE/SHARE","HOLDINGS", "VALUE", "NET PRICE CHANGE"
|
156
|
+
770 PRINT "IBM", S(1), P(1), S(1)*P(1), C(1)
|
157
|
+
771 PRINT "RCA", S(2), P(2), S(2)*P(2), C(2)
|
158
|
+
772 PRINT "LBJ", S(3), P(3), S(3)*P(3), C(3)
|
159
|
+
773 PRINT "ABC", S(4), P(4), S(4)*P(4), C(4)
|
160
|
+
774 PRINT "CBS", S(5), P(5), S(5)*P(5), C(5)
|
161
|
+
775 LET X9=1
|
162
|
+
780 PRINT
|
163
|
+
790 PRINT
|
164
|
+
810 GOTO 360
|
165
|
+
829 REM NEW STOCK VALUES - SUBROUTINE
|
166
|
+
830 REM RANDOMLY PRODUCE NEW STOCK VALUES BASED ON PREVIOUS
|
167
|
+
831 REM DAY'S VALUES
|
168
|
+
832 REM N1,N2 ARE RANDOM NUMBERS OF DAYS WHICH RESPECTIVELY
|
169
|
+
833 REM DETERMINE WHEN STOCK I1 WILL INCREASE 10 PTS. AND STOCK
|
170
|
+
834 REM I2 WILL DECREASE 10 PTS.
|
171
|
+
840 REM IF N1 DAYS HAVE PASSED, PICK AN I1, SET E1, DETERMINE NEW N1
|
172
|
+
841 IF N1>0 THEN 850
|
173
|
+
845 LET I1=INT(4.99*RND(X)+1)
|
174
|
+
846 LET N1=INT(4.99*RND(X)+1)
|
175
|
+
847 LET E1=1
|
176
|
+
850 REM IF N2 DAYS HAVE PASSED, PICK AN I2, SET E2, DETERMINE NEW N2
|
177
|
+
851 IF N2>0 THEN 860
|
178
|
+
855 LET I2=INT(4.99*RND(X)+1)
|
179
|
+
856 LET N2=INT(4.99*RND(X)+1)
|
180
|
+
857 LET E2=1
|
181
|
+
860 REM DEDUCT ONE DAY FROM N1 AND N2
|
182
|
+
861 LET N1=N1-1
|
183
|
+
862 LET N2=N2-1
|
184
|
+
890 REM LOOP THROUGH ALL STOCKS
|
185
|
+
900 FOR I=1 TO 5
|
186
|
+
910 LET X1=RND(X)
|
187
|
+
915 IF X1>.25 THEN 920
|
188
|
+
916 LET X1=.25
|
189
|
+
917 GOTO 935
|
190
|
+
920 IF X1>.5 THEN 925
|
191
|
+
921 LET X1=.5
|
192
|
+
922 GOTO 935
|
193
|
+
925 IF X1>.75 THEN 930
|
194
|
+
926 LET X1=.75
|
195
|
+
927 GOTO 935
|
196
|
+
930 LET X1=0.0
|
197
|
+
931 REM BIG CHANGE CONSTANT:W3 (SET TO ZERO INITIALLY)
|
198
|
+
935 LET W3=0
|
199
|
+
936 IF E1<1 THEN 945
|
200
|
+
937 IF INT(I1+.5)<>INT(I+.5) THEN 945
|
201
|
+
938 REM ADD 10 PTS. TO THIS STOCK; RESET E1
|
202
|
+
939 LET W3=10
|
203
|
+
943 LET E1=0
|
204
|
+
945 IF E2<1 THEN 955
|
205
|
+
947 IF INT(I2+.5)<>INT(I+.5) THEN 955
|
206
|
+
948 REM SUBTRACT 10 PTS. FROM THIS STOCK; RESET E2
|
207
|
+
949 LET W3=W3-10
|
208
|
+
953 LET E2=0
|
209
|
+
954 REM C(I) IS CHANGE IN STOCK VALUE
|
210
|
+
955 LET C(I)=INT(A*S(I))+X1+INT(3-6*RND(X)+.5)+W3
|
211
|
+
956 LET C(I)=INT(100*C(I)+.5)/100
|
212
|
+
957 LET S(I)=S(I)+C(I)
|
213
|
+
960 IF S(I)>0 THEN 967
|
214
|
+
964 LET C(I)=0
|
215
|
+
965 LET S(I)=0
|
216
|
+
966 GOTO 970
|
217
|
+
967 LET S(I)=INT(100*S(I)+.5)/100
|
218
|
+
970 NEXT I
|
219
|
+
972 REM AFTER T8 DAYS RANDOMLY CHANGE TREND SIGN AND SLOPE
|
220
|
+
973 LET T8=T8-1
|
221
|
+
974 IF T8<1 THEN 985
|
222
|
+
980 RETURN
|
223
|
+
985 REM RANDOMLY CHANGE TREND SIGN AND SLOPE (A), AND DURATION
|
224
|
+
986 REM OF TREND (T8)
|
225
|
+
990 LET T8=INT(4.99*RND(X)+1)
|
226
|
+
992 LET A=INT((RND(X)/10)*100+.5)/100
|
227
|
+
993 LET S4=RND(X)
|
228
|
+
994 IF S4<=.5 THEN 997
|
229
|
+
995 LET A=-A
|
230
|
+
997 RETURN
|
231
|
+
998 PRINT "HOPE YOU HAD FUN!!"
|
232
|
+
999 END
|
@@ -0,0 +1,156 @@
|
|
1
|
+
STOCK MARKET
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
DO YOU WANT THE INSTRUCTIONS (YES-TYPE 1, NO-TYPE 0)? 1
|
7
|
+
|
8
|
+
|
9
|
+
THIS PROGRAM PLAYS THE STOCK MARKET. YOU WILL BE GIVEN
|
10
|
+
$10,000 AND MAY BUY OR SELL STOCKS. THE STOCK PRICES WILL
|
11
|
+
BE GENERATED RANDOMLY AND THEREFORE THIS MODEL DOES NOT
|
12
|
+
REPRESENT EXACTLY WHAT HAPPENS ON THE EXCHANGE. A TABLE
|
13
|
+
OF AVAILABLE STOCKS, THEIR PRICES, AND THE NUMBER OF SHARES
|
14
|
+
IN YOUR PORTFOLIO WILL BE PRINTED. FOLLOWING THIS, THE
|
15
|
+
INITIALS OF EACH STOCK WILL BE PRINTED WITH A QUESTION
|
16
|
+
MARK. HERE YOU INDICATE A TRANSACTION. TO BUY A STOCK
|
17
|
+
TYPE +NNN, TO SELL A STOCK TYPE -NNN, WHERE NNN IS THE
|
18
|
+
NUMBER OF SHARES. A BROKERAGE FEE OF 1% WILL BE CHARGED
|
19
|
+
ON ALL TRANSACTIONS. NOTE THAT IF A STOCK'S VALUE DROPS
|
20
|
+
TO ZERO IT MAY REBOUND TO A POSITIVE VALUE AGAIN. YOU
|
21
|
+
HAVE $10,000 TO INVEST. USE INTEGERS FOR ALL YOUR INPUTS.
|
22
|
+
(NOTE: TO GET A 'FEEL' FOR THE MARKET RUN FOR AT LEAST
|
23
|
+
10 DAYS)
|
24
|
+
-----GOOD LUCK!-----
|
25
|
+
|
26
|
+
|
27
|
+
STOCK INITIALS PRICE/SHARE
|
28
|
+
INT. BALLISTIC MISSILES IBM 102
|
29
|
+
RED CROSS OF AMERICA RCA 87.5
|
30
|
+
LICHTENSTEIN, BUMRAP & JOKE LBJ 167.75
|
31
|
+
AMERICAN BANKRUPT CO. ABC 140
|
32
|
+
CENSURED BOOKS STORE CBS 118.25
|
33
|
+
|
34
|
+
NEW YORK STOCK EXCHANGE AVERAGE: 123.1
|
35
|
+
|
36
|
+
TOTAL STOCK ASSETS ARE $ 0
|
37
|
+
TOTAL CASH ASSETS ARE $ 10000
|
38
|
+
TOTAL ASSETS ARE $ 10000
|
39
|
+
|
40
|
+
WHAT IS YOUR TRANSACTION IN
|
41
|
+
IBM? 10
|
42
|
+
RCA? 10
|
43
|
+
LBJ? 10
|
44
|
+
ABC? 10
|
45
|
+
CBS? 10
|
46
|
+
|
47
|
+
|
48
|
+
********** END OF DAY'S TRADING **********
|
49
|
+
|
50
|
+
|
51
|
+
STOCK PRICE/SHARE HOLDINGS VALUE NET PRICE CHANGE
|
52
|
+
IBM 105 10 1050 3
|
53
|
+
RCA 88.5 10 885 1
|
54
|
+
LBJ 175.75 10 1757.5 8
|
55
|
+
ABC 149 10 1490 9
|
56
|
+
CBS 126 10 1260 7.75
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
NEW YORK STOCK EXCHANGE AVERAGE: 128.85 NET CHANGE 5.75
|
61
|
+
|
62
|
+
TOTAL STOCK ASSETS ARE $ 6442.5
|
63
|
+
TOTAL CASH ASSETS ARE $ 3783.45
|
64
|
+
TOTAL ASSETS ARE $ 10225.95
|
65
|
+
|
66
|
+
DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)? 1
|
67
|
+
WHAT IS YOUR TRANSACTION IN
|
68
|
+
IBM? 10
|
69
|
+
RCA? 10
|
70
|
+
LBJ? 10
|
71
|
+
ABC? 10
|
72
|
+
CBS? 10
|
73
|
+
|
74
|
+
YOU HAVE USED $ 2723.48 MORE THAN YOU HAVE.
|
75
|
+
WHAT IS YOUR TRANSACTION IN
|
76
|
+
IBM? 5
|
77
|
+
RCA? 5
|
78
|
+
LBJ? 5
|
79
|
+
ABC? 5
|
80
|
+
CBS? 5
|
81
|
+
|
82
|
+
|
83
|
+
********** END OF DAY'S TRADING **********
|
84
|
+
|
85
|
+
|
86
|
+
STOCK PRICE/SHARE HOLDINGS VALUE NET PRICE CHANGE
|
87
|
+
IBM 110 15 1650 5
|
88
|
+
RCA 94 15 1410 5.5
|
89
|
+
LBJ 183.75 15 2756.25 8
|
90
|
+
ABC 159.75 15 2396.25 10.75
|
91
|
+
CBS 131.75 15 1976.25 5.75
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
NEW YORK STOCK EXCHANGE AVERAGE: 135.85 NET CHANGE 7
|
96
|
+
|
97
|
+
TOTAL STOCK ASSETS ARE $ 10188.75
|
98
|
+
TOTAL CASH ASSETS ARE $ 529.99
|
99
|
+
TOTAL ASSETS ARE $ 10718.74
|
100
|
+
|
101
|
+
DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)? 1
|
102
|
+
WHAT IS YOUR TRANSACTION IN
|
103
|
+
IBM? 0
|
104
|
+
RCA? 0
|
105
|
+
LBJ? 0
|
106
|
+
ABC? 0
|
107
|
+
CBS? 0
|
108
|
+
|
109
|
+
|
110
|
+
********** END OF DAY'S TRADING **********
|
111
|
+
|
112
|
+
|
113
|
+
STOCK PRICE/SHARE HOLDINGS VALUE NET PRICE CHANGE
|
114
|
+
IBM 114.5 15 1717.5 4.5
|
115
|
+
RCA 97.25 15 1458.75 3.25
|
116
|
+
LBJ 195.5 15 2932.5 11.75
|
117
|
+
ABC 168 15 2520 8.25
|
118
|
+
CBS 138.25 15 2073.75 6.5
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
NEW YORK STOCK EXCHANGE AVERAGE: 142.7 NET CHANGE 6.85
|
123
|
+
|
124
|
+
TOTAL STOCK ASSETS ARE $ 10702.5
|
125
|
+
TOTAL CASH ASSETS ARE $ 529.99
|
126
|
+
TOTAL ASSETS ARE $ 11232.49
|
127
|
+
|
128
|
+
DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)? 1
|
129
|
+
WHAT IS YOUR TRANSACTION IN
|
130
|
+
IBM? -15
|
131
|
+
RCA? -15
|
132
|
+
LBJ? -15
|
133
|
+
ABC? -15
|
134
|
+
CBS? -15
|
135
|
+
|
136
|
+
|
137
|
+
********** END OF DAY'S TRADING **********
|
138
|
+
|
139
|
+
|
140
|
+
STOCK PRICE/SHARE HOLDINGS VALUE NET PRICE CHANGE
|
141
|
+
IBM 127.75 0 0 13.25
|
142
|
+
RCA 108 0 0 10.75
|
143
|
+
LBJ 217 0 0 21.5
|
144
|
+
ABC 186.25 0 0 18.25
|
145
|
+
CBS 154 0 0 15.75
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
NEW YORK STOCK EXCHANGE AVERAGE: 158.6 NET CHANGE 15.9
|
150
|
+
|
151
|
+
TOTAL STOCK ASSETS ARE $ 0
|
152
|
+
TOTAL CASH ASSETS ARE $ 11125.46
|
153
|
+
TOTAL ASSETS ARE $ 11125.46
|
154
|
+
|
155
|
+
DO YOU WISH TO CONTINUE (YES-TYPE 1, NO-TYPE 0)? 0
|
156
|
+
HOPE YOU HAD FUN!!
|