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,54 @@
|
|
1
|
+
CHEMIST
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
THE FICTITIOUS CHECMICAL KRYPTOCYANIC ACID CAN ONLY BE
|
7
|
+
DILUTED BY THE RATIO OF 7 PARTS WATER TO 3 PARTS ACID.
|
8
|
+
IF ANY OTHER RATIO IS ATTEMPTED, THE ACID BECOMES UNSTABLE
|
9
|
+
AND SOON EXPLODES. GIVEN THE AMOUNT OF ACID, YOU MUST
|
10
|
+
DECIDE WHO MUCH WATER TO ADD FOR DILUTION. IF YOU MISS
|
11
|
+
YOU FACE THE CONSEQUENCES.
|
12
|
+
27 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 63.0
|
13
|
+
GOOD JOB! YOU MAY BREATHE NOW, BUT DON'T INHALE THE FUMES!
|
14
|
+
|
15
|
+
35 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 80
|
16
|
+
GOOD JOB! YOU MAY BREATHE NOW, BUT DON'T INHALE THE FUMES!
|
17
|
+
|
18
|
+
30 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 65
|
19
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
20
|
+
OF QUIVERING PROTOPLASM!
|
21
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
22
|
+
27 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 1
|
23
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
24
|
+
OF QUIVERING PROTOPLASM!
|
25
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
26
|
+
21 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 2
|
27
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
28
|
+
OF QUIVERING PROTOPLASM!
|
29
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
30
|
+
32 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 3
|
31
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
32
|
+
OF QUIVERING PROTOPLASM!
|
33
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
34
|
+
21 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 4
|
35
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
36
|
+
OF QUIVERING PROTOPLASM!
|
37
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
38
|
+
44 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 5
|
39
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
40
|
+
OF QUIVERING PROTOPLASM!
|
41
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
42
|
+
48 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 6
|
43
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
44
|
+
OF QUIVERING PROTOPLASM!
|
45
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
46
|
+
19 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 7
|
47
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
48
|
+
OF QUIVERING PROTOPLASM!
|
49
|
+
HOWEVER, YOU MAY TRY AGAIN WITH ANOTHER LIFE.
|
50
|
+
39 LITERS OF KRYPTOCYANIC ACID. HOW MUCH WATER? 8
|
51
|
+
SIZZLE! YOU HAVE JUST BEEN DESALINATED INTO A BLOB
|
52
|
+
OF QUIVERING PROTOPLASM!
|
53
|
+
YOUR 9 LIVES ARE USED, BUT YOU WILL BE LONG REMEMBERED FOR
|
54
|
+
YOUR CONTRIBUTIONS TO THE FIELD OF COMIC BOOK CHEMISTRY.
|
@@ -0,0 +1,51 @@
|
|
1
|
+
2 PRINT TAB(30) "CHIEF"
|
2
|
+
4 PRINT TAB(15) "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
6 PRINT:PRINT:PRINT
|
4
|
+
10 PRINT "I AM CHIEF NUMBERS FREEK, THE GREAT INDIAN MATH GOD."
|
5
|
+
20 PRINT "ARE YOU READY TO TAKE THE TEST YOU CALLED ME OUT FOR";
|
6
|
+
30 INPUT A$
|
7
|
+
40 IF A$="YES" THEN 60
|
8
|
+
50 PRINT "SHUT UP, PALE FACE WITH WISE TONGUE."
|
9
|
+
60 PRINT " TAKE A NUMBER AND ADD 3. DIVIDE THIS NUMBER BY 5 AND"
|
10
|
+
70 PRINT "MULTIPLY BY 8. DIVIDE BY 5 AND ADD THE SAME. SUBTRACT 1."
|
11
|
+
80 PRINT " WHAT DO YOU HAVE";
|
12
|
+
90 INPUT B
|
13
|
+
100 LET C = (B+1-5)*5/8*5-3
|
14
|
+
110 PRINT "I BET YOUR NUMBER WAS" C". AM I RIGHT";
|
15
|
+
120 INPUT D$
|
16
|
+
130 IF D$="YES" THEN 510
|
17
|
+
140 PRINT "WHAT WAS YOUR ORIGINAL NUMBER";
|
18
|
+
150 INPUT K
|
19
|
+
155 LET F=K+3
|
20
|
+
160 LET G=F/5
|
21
|
+
170 LET H=G*8
|
22
|
+
180 LET I=H/5+5
|
23
|
+
190 LET J=I-1
|
24
|
+
200 PRINT "SO YOU THINK YOU'RE SO SMART, EH?"
|
25
|
+
210 PRINT "NOW WATCH."
|
26
|
+
230 PRINT K"PLUS 3 EQUALS"F". THIS DIVIDED BY 5 EQUALS"G";"
|
27
|
+
240 PRINT "THIS TIMES 8 EQUALS"H". IF WE DIVIDE BY 5 AND ADD 5,"
|
28
|
+
250 PRINT "WE GET"I", WHICH, MINUS 1, EQUALS"J"."
|
29
|
+
260 PRINT "NOW DO YOU BELIEVE ME";
|
30
|
+
270 INPUT Z$
|
31
|
+
290 IF Z$="YES" THEN 510
|
32
|
+
295 PRINT "YOU HAVE MADE ME MAD!!!"
|
33
|
+
300 PRINT "THERE MUST BE A GREAT LIGHTNING BOLT!"
|
34
|
+
310 PRINT:PRINT
|
35
|
+
330 FOR X=30 TO 22 STEP -1
|
36
|
+
340 PRINT TAB(X) "X X"
|
37
|
+
350 NEXT X
|
38
|
+
360 PRINT TAB(21) "X XXX"
|
39
|
+
370 PRINT TAB(20) "X X"
|
40
|
+
380 PRINT TAB(19) "XX X"
|
41
|
+
390 FOR Y=20 TO 13 STEP -1
|
42
|
+
400 PRINT TAB(Y) "X X"
|
43
|
+
410 NEXT Y
|
44
|
+
420 PRINT TAB(12) "XX"
|
45
|
+
430 PRINT TAB(11) "X"
|
46
|
+
440 PRINT TAB(10) "*"
|
47
|
+
450 PRINT:PRINT"#########################":PRINT
|
48
|
+
470 PRINT "I HOPE YOU BELIEVE ME NOW, FOR YOUR SAKE!!"
|
49
|
+
480 GOTO 520
|
50
|
+
510 PRINT "BYE!!!"
|
51
|
+
520 END
|
@@ -0,0 +1,19 @@
|
|
1
|
+
CHIEF
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
I AM CHIEF NUMBERS FREEK, THE GREAT INDIAN MATH GOD.
|
7
|
+
ARE YOU READY TO TAKE THE TEST YOU CALLED ME OUT FOR? YES
|
8
|
+
TAKE A NUMBER AND ADD 3. DIVIDE THIS NUMBER BY 5 AND
|
9
|
+
MULTIPLY BY 8. DIVIDE BY 5 AND ADD THE SAME. SUBTRACT 1.
|
10
|
+
WHAT DO YOU HAVE? 12
|
11
|
+
I BET YOUR NUMBER WAS 22 . AM I RIGHT? NO
|
12
|
+
WHAT WAS YOUR ORIGINAL NUMBER? 3
|
13
|
+
SO YOU THINK YOU'RE SO SMART, EH?
|
14
|
+
NOW WATCH.
|
15
|
+
3 PLUS 3 EQUALS 6 . THIS DIVIDED BY 5 EQUALS 1.2 ;
|
16
|
+
THIS TIMES 8 EQUALS 9.6 . IF WE DIVIDE BY 5 AND ADD 5,
|
17
|
+
WE GET 6.92 , WHICH, MINUS 1, EQUALS 5.92 .
|
18
|
+
NOW DO YOU BELIEVE ME? YES
|
19
|
+
BYE!!!
|
@@ -0,0 +1,104 @@
|
|
1
|
+
10 PRINT TAB(33);"CHOMP"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
40 DIM A(10,10)
|
5
|
+
100 REM *** THE GAME OF CHOMP *** COPYRIGHT PCC 1973 ***
|
6
|
+
110 PRINT
|
7
|
+
120 PRINT "THIS IS THE GAME OF CHOMP (SCIENTIFIC AMERICAN, JAN 1973)"
|
8
|
+
130 PRINT "DO YOU WANT THE RULES (1=YES, 0=NO!)";
|
9
|
+
140 INPUT R
|
10
|
+
150 IF R=0 THEN 340
|
11
|
+
160 F=1
|
12
|
+
170 R=5
|
13
|
+
180 C=7
|
14
|
+
190 PRINT "CHOMP IS FOR 1 OR MORE PLAYERS (HUMANS ONLY)."
|
15
|
+
200 PRINT
|
16
|
+
210 PRINT "HERE'S HOW A BOARD LOOKS (THIS ONE IS 5 BY 7):"
|
17
|
+
220 GOSUB 540
|
18
|
+
230 PRINT
|
19
|
+
240 PRINT "THE BOARD IS A BIG COOKIE - R ROWS HIGH AND C COLUMNS"
|
20
|
+
250 PRINT "WIDE. YOU INPUT R AND C AT THE START. IN THE UPPER LEFT"
|
21
|
+
260 PRINT "CORNER OF THE COOKIE IS A POISON SQUARE (P). THE ONE WHO"
|
22
|
+
270 PRINT "CHOMPS THE POISON SQUARE LOSES. TO TAKE A CHOMP, TYPE THE"
|
23
|
+
280 PRINT "ROW AND COLUMN OF ONE OF THE SQUARES ON THE COOKIE."
|
24
|
+
290 PRINT "ALL OF THE SQUARES BELOW AND TO THE RIGHT OF THAT SQUARE"
|
25
|
+
300 PRINT "(INCLUDING THAT SQUARE, TOO) DISAPPEAR -- CHOMP!!"
|
26
|
+
310 PRINT "NO FAIR CHOMPING SQUARES THAT HAVE ALREADY BEEN CHOMPED,"
|
27
|
+
320 PRINT "OR THAT ARE OUTSIDE THE ORIGINAL DIMENSIONS OF THE COOKIE."
|
28
|
+
330 PRINT
|
29
|
+
340 PRINT "HERE WE GO..."
|
30
|
+
350 REM
|
31
|
+
360 F=0
|
32
|
+
370 FOR I=1 TO 10
|
33
|
+
372 FOR J=1 TO 10
|
34
|
+
375 A(I,J)=0
|
35
|
+
377 NEXT J
|
36
|
+
379 NEXT I
|
37
|
+
380 PRINT
|
38
|
+
390 PRINT "HOW MANY PLAYERS";
|
39
|
+
400 INPUT P
|
40
|
+
410 I1=0
|
41
|
+
420 PRINT "HOW MANY ROWS";
|
42
|
+
430 INPUT R
|
43
|
+
440 IF R <= 9 THEN 470
|
44
|
+
450 PRINT "TOO MANY ROWS (9 IS MAXIMUM). NOW, ";
|
45
|
+
460 GOTO 420
|
46
|
+
470 PRINT "HOW MANY COLUMNS";
|
47
|
+
480 INPUT C
|
48
|
+
490 IF C <= 9 THEN 530
|
49
|
+
500 PRINT "TOO MANY COLUMNS (9 IS MAXIMUM). NOW, ";
|
50
|
+
510 GOTO 470
|
51
|
+
530 PRINT
|
52
|
+
540 FOR I=1 TO R
|
53
|
+
550 FOR J=1 TO C
|
54
|
+
560 A(I,J)=1
|
55
|
+
570 NEXT J
|
56
|
+
580 NEXT I
|
57
|
+
590 A(1,1)=-1
|
58
|
+
600 REM PRINT THE BOARD
|
59
|
+
610 PRINT
|
60
|
+
620 PRINT TAB(7);"1 2 3 4 5 6 7 8 9"
|
61
|
+
630 FOR I=1 TO R
|
62
|
+
640 PRINT I;TAB(7);
|
63
|
+
650 FOR J=1 TO C
|
64
|
+
660 IF A(I,J)=-1 THEN 700
|
65
|
+
670 IF A(I,J)=0 THEN 720
|
66
|
+
680 PRINT "* ";
|
67
|
+
690 GOTO 710
|
68
|
+
700 PRINT "P ";
|
69
|
+
710 NEXT J
|
70
|
+
720 PRINT
|
71
|
+
730 NEXT I
|
72
|
+
740 PRINT
|
73
|
+
750 IF F=0 THEN 770
|
74
|
+
760 RETURN
|
75
|
+
770 REM GET CHOMPS FOR EACH PLAYER IN TURN
|
76
|
+
780 LET I1=I1+1
|
77
|
+
790 LET P1=I1-INT(I1/P)*P
|
78
|
+
800 IF P1 <> 0 THEN 820
|
79
|
+
810 P1=P
|
80
|
+
820 PRINT "PLAYER";P1
|
81
|
+
830 PRINT "COORDINATES OF CHOMP (ROW,COLUMN)";
|
82
|
+
840 INPUT R1,C1
|
83
|
+
850 IF R1<1 THEN 920
|
84
|
+
860 IF R1>R THEN 920
|
85
|
+
870 IF C1<1 THEN 920
|
86
|
+
880 IF C1>C THEN 920
|
87
|
+
890 IF A(R1,C1)=0 THEN 920
|
88
|
+
900 IF A(R1,C1)=-1 THEN 1010
|
89
|
+
910 GOTO 940
|
90
|
+
920 PRINT "NO FAIR. YOU'RE TRYING TO CHOMP ON EMPTY SPACE!"
|
91
|
+
930 GOTO 820
|
92
|
+
940 FOR I=R1 TO R
|
93
|
+
950 FOR J=C1 TO C
|
94
|
+
960 A(I,J)=0
|
95
|
+
970 NEXT J
|
96
|
+
980 NEXT I
|
97
|
+
990 GOTO 610
|
98
|
+
1000 REM END OF GAME DETECTED IN LINE 900
|
99
|
+
1010 PRINT "YOU LOSE, PLAYER";P1
|
100
|
+
1020 PRINT
|
101
|
+
1030 PRINT "AGAIN (1=YES, 0=NO!)";
|
102
|
+
1040 INPUT R$
|
103
|
+
1050 IF R=1 THEN 340
|
104
|
+
1060 END
|
@@ -0,0 +1,159 @@
|
|
1
|
+
CHOMP
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
THIS IS THE GAME OF CHOMP (SCIENTIFIC AMERICAN, JAN 1973)
|
8
|
+
DO YOU WANT THE RULES (1=YES, 0=NO!)? 1
|
9
|
+
CHOMP IS FOR 1 OR MORE PLAYERS (HUMANS ONLY).
|
10
|
+
|
11
|
+
HERE'S HOW A BOARD LOOKS (THIS ONE IS 5 BY 7):
|
12
|
+
|
13
|
+
1 2 3 4 5 6 7 8 9
|
14
|
+
1 P * * * * * *
|
15
|
+
2 * * * * * * *
|
16
|
+
3 * * * * * * *
|
17
|
+
4 * * * * * * *
|
18
|
+
5 * * * * * * *
|
19
|
+
|
20
|
+
|
21
|
+
THE BOARD IS A BIG COOKIE - R ROWS HIGH AND C COLUMNS
|
22
|
+
WIDE. YOU INPUT R AND C AT THE START. IN THE UPPER LEFT
|
23
|
+
CORNER OF THE COOKIE IS A POISON SQUARE (P). THE ONE WHO
|
24
|
+
CHOMPS THE POISON SQUARE LOSES. TO TAKE A CHOMP, TYPE THE
|
25
|
+
ROW AND COLUMN OF ONE OF THE SQUARES ON THE COOKIE.
|
26
|
+
ALL OF THE SQUARES BELOW AND TO THE RIGHT OF THAT SQUARE
|
27
|
+
(INCLUDING THAT SQUARE, TOO) DISAPPEAR -- CHOMP!!
|
28
|
+
NO FAIR CHOMPING SQUARES THAT HAVE ALREADY BEEN CHOMPED,
|
29
|
+
OR THAT ARE OUTSIDE THE ORIGINAL DIMENSIONS OF THE COOKIE.
|
30
|
+
|
31
|
+
HERE WE GO...
|
32
|
+
|
33
|
+
HOW MANY PLAYERS? 2
|
34
|
+
HOW MANY ROWS? 8
|
35
|
+
HOW MANY COLUMNS? 8
|
36
|
+
|
37
|
+
|
38
|
+
1 2 3 4 5 6 7 8 9
|
39
|
+
1 P * * * * * * *
|
40
|
+
2 * * * * * * * *
|
41
|
+
3 * * * * * * * *
|
42
|
+
4 * * * * * * * *
|
43
|
+
5 * * * * * * * *
|
44
|
+
6 * * * * * * * *
|
45
|
+
7 * * * * * * * *
|
46
|
+
8 * * * * * * * *
|
47
|
+
|
48
|
+
PLAYER 1
|
49
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 7,5
|
50
|
+
|
51
|
+
1 2 3 4 5 6 7 8 9
|
52
|
+
1 P * * * * * * *
|
53
|
+
2 * * * * * * * *
|
54
|
+
3 * * * * * * * *
|
55
|
+
4 * * * * * * * *
|
56
|
+
5 * * * * * * * *
|
57
|
+
6 * * * * * * * *
|
58
|
+
7 * * * *
|
59
|
+
8 * * * *
|
60
|
+
|
61
|
+
PLAYER 2
|
62
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 4,7
|
63
|
+
|
64
|
+
1 2 3 4 5 6 7 8 9
|
65
|
+
1 P * * * * * * *
|
66
|
+
2 * * * * * * * *
|
67
|
+
3 * * * * * * * *
|
68
|
+
4 * * * * * *
|
69
|
+
5 * * * * * *
|
70
|
+
6 * * * * * *
|
71
|
+
7 * * * *
|
72
|
+
8 * * * *
|
73
|
+
|
74
|
+
PLAYER 1
|
75
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 4,3
|
76
|
+
|
77
|
+
1 2 3 4 5 6 7 8 9
|
78
|
+
1 P * * * * * * *
|
79
|
+
2 * * * * * * * *
|
80
|
+
3 * * * * * * * *
|
81
|
+
4 * *
|
82
|
+
5 * *
|
83
|
+
6 * *
|
84
|
+
7 * *
|
85
|
+
8 * *
|
86
|
+
|
87
|
+
PLAYER 2
|
88
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 1,5
|
89
|
+
|
90
|
+
1 2 3 4 5 6 7 8 9
|
91
|
+
1 P * * *
|
92
|
+
2 * * * *
|
93
|
+
3 * * * *
|
94
|
+
4 * *
|
95
|
+
5 * *
|
96
|
+
6 * *
|
97
|
+
7 * *
|
98
|
+
8 * *
|
99
|
+
|
100
|
+
PLAYER 1
|
101
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 4,2
|
102
|
+
|
103
|
+
1 2 3 4 5 6 7 8 9
|
104
|
+
1 P * * *
|
105
|
+
2 * * * *
|
106
|
+
3 * * * *
|
107
|
+
4 *
|
108
|
+
5 *
|
109
|
+
6 *
|
110
|
+
7 *
|
111
|
+
8 *
|
112
|
+
|
113
|
+
PLAYER 2
|
114
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 2,2
|
115
|
+
|
116
|
+
1 2 3 4 5 6 7 8 9
|
117
|
+
1 P * * *
|
118
|
+
2 *
|
119
|
+
3 *
|
120
|
+
4 *
|
121
|
+
5 *
|
122
|
+
6 *
|
123
|
+
7 *
|
124
|
+
8 *
|
125
|
+
|
126
|
+
PLAYER 1
|
127
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 1,2
|
128
|
+
|
129
|
+
1 2 3 4 5 6 7 8 9
|
130
|
+
1 P
|
131
|
+
2 *
|
132
|
+
3 *
|
133
|
+
4 *
|
134
|
+
5 *
|
135
|
+
6 *
|
136
|
+
7 *
|
137
|
+
8 *
|
138
|
+
|
139
|
+
PLAYER 2
|
140
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 2,8
|
141
|
+
NO FAIR. YOU'RE TRYING TO CHOMP ON EMPTY SPACE!
|
142
|
+
PLAYER 2
|
143
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 2,1
|
144
|
+
|
145
|
+
1 2 3 4 5 6 7 8 9
|
146
|
+
1 P
|
147
|
+
2
|
148
|
+
3
|
149
|
+
4
|
150
|
+
5
|
151
|
+
6
|
152
|
+
7
|
153
|
+
8
|
154
|
+
|
155
|
+
PLAYER 1
|
156
|
+
COORDINATES OF CHOMP (ROW,COLUMN)? 1,1
|
157
|
+
YOU LOSE, PLAYER 1
|
158
|
+
|
159
|
+
AGAIN (1=YES, 0=NO!)? 0
|
@@ -0,0 +1,124 @@
|
|
1
|
+
1 PRINT TAB(33);"COMBAT"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT: PRINT: PRINT
|
4
|
+
4 PRINT "I AM AT WAR WITH YOU.": PRINT "WE HAVE 72000 SOLDIERS APIECE."
|
5
|
+
5 PRINT:PRINT "DISTRIBUTE YOUR FORCES."
|
6
|
+
6 PRINT ,"ME"," YOU"
|
7
|
+
7 PRINT "ARMY",30000,
|
8
|
+
8 INPUT A
|
9
|
+
9 PRINT "NAVY",20000,
|
10
|
+
10 INPUT B
|
11
|
+
11 PRINT "A. F.",22000,
|
12
|
+
12 INPUT C
|
13
|
+
13 IF A+B+C>72000 THEN 5
|
14
|
+
14 D=30000
|
15
|
+
15 E=20000
|
16
|
+
16 F=22000
|
17
|
+
17 PRINT "YOU ATTACK FIRST. TYPE (1) FOR ARMY; (2) FOR NAVY;"
|
18
|
+
18 PRINT "AND (3) FOR AIR FORCE."
|
19
|
+
19 INPUT Y
|
20
|
+
20 PRINT "HOW MANY MEN"
|
21
|
+
21 INPUT X
|
22
|
+
22 IF X<0 THEN 20
|
23
|
+
23 ON Y GOTO 100,200,300
|
24
|
+
100 IF X>A THEN 20
|
25
|
+
105 IF X<A/3 THEN 120
|
26
|
+
110 IF X<2*A/3 THEN 150
|
27
|
+
115 GOTO 270
|
28
|
+
120 PRINT "YOU LOST";X;"MEN FROM YOUR ARMY."
|
29
|
+
125 A=INT(A-X)
|
30
|
+
130 GOTO 500
|
31
|
+
150 PRINT "YOU LOST";INT(X/3);"MEN, BUT I LOST ";INT(2*D/3)
|
32
|
+
155 A=INT(A-X/3)
|
33
|
+
160 D=0
|
34
|
+
165 GOTO 500
|
35
|
+
200 IF X>B THEN 20
|
36
|
+
210 IF X<E/3 THEN 230
|
37
|
+
215 IF X<2*E/3 THEN 250
|
38
|
+
220 GOTO 270
|
39
|
+
230 PRINT "YOUR ATTACK WAS STOPPED!"
|
40
|
+
232 B=INT(B-X)
|
41
|
+
235 GOTO 500
|
42
|
+
250 PRINT "YOU DESTROYED";INT(2*E/3);"OF MY ARMY."
|
43
|
+
255 E=INT(E/3)
|
44
|
+
260 GOTO 500
|
45
|
+
270 PRINT "YOU SUNK ONE OF MY PATROL BOATS, BUT I WIPED OUT TWO"
|
46
|
+
275 PRINT "OF YOUR AIR FORCE BASES AND 3 ARMY BASES."
|
47
|
+
280 A=INT(A/3)
|
48
|
+
285 C=INT(C/3)
|
49
|
+
290 E=INT(2*E/3)
|
50
|
+
293 GOTO 500
|
51
|
+
300 IF X>C THEN 20
|
52
|
+
310 IF X<C/3 THEN 350
|
53
|
+
320 IF X<2*C/3 THEN 370
|
54
|
+
330 GOTO 380
|
55
|
+
350 PRINT "YOUR ATTACK WAS WIPED OUT."
|
56
|
+
355 C=INT(C-X)
|
57
|
+
360 GOTO 500
|
58
|
+
370 PRINT "WE HAD A DOGFIGHT. YOU WON - AND FINISHED YOUR MISSION."
|
59
|
+
375 D=INT(2*D/3)
|
60
|
+
377 E=INT(E/3)
|
61
|
+
378 F=INT(F/3)
|
62
|
+
379 GOTO 500
|
63
|
+
380 PRINT "YOU WIPED OUT ONE OF MY ARMY PATROLS, BUT I DESTROYED"
|
64
|
+
381 PRINT "TWO NAVY BASES AND BOMBED THREE ARMY BASES."
|
65
|
+
385 A=INT(A/4)
|
66
|
+
387 B=INT(B/3)
|
67
|
+
390 D=INT(2*D/3)
|
68
|
+
500 PRINT
|
69
|
+
501 PRINT,"YOU","ME"
|
70
|
+
510 PRINT "ARMY",A,D
|
71
|
+
520 PRINT "NAVY",B,E
|
72
|
+
530 PRINT "A. F.",C,F
|
73
|
+
1000 PRINT "WHAT IS YOUR NEXT MOVE?"
|
74
|
+
1010 PRINT "ARMY=1 NAVY=2 AIR FORCE=3"
|
75
|
+
1020 INPUT G
|
76
|
+
1030 PRINT "HOW MANY MEN"
|
77
|
+
1040 INPUT T
|
78
|
+
1045 IF T<0 THEN 1030
|
79
|
+
1050 ON G GOTO 1600,1700,1800
|
80
|
+
1600 IF T>A THEN 1030
|
81
|
+
1610 IF T<D/2 THEN 1630
|
82
|
+
1615 PRINT "YOU DESTROYED MY ARMY!"
|
83
|
+
1616 D=0
|
84
|
+
1617 GOTO 2000
|
85
|
+
1630 PRINT "I WIPED OUT YOUR ATTACK!"
|
86
|
+
1635 A=A-T
|
87
|
+
1640 GOTO 2000
|
88
|
+
1700 IF T>B THEN 1030
|
89
|
+
1710 IF T<E/2 THEN 1750
|
90
|
+
1720 GOTO 1770
|
91
|
+
1750 PRINT "I SUNK TWO OF YOUR BATTLESHIPS, AND MY AIR FORCE"
|
92
|
+
1751 PRINT "WIPED OUT YOUR UNGAURDED CAPITOL."
|
93
|
+
1755 A=A/4
|
94
|
+
1760 B=B/2
|
95
|
+
1765 GOTO 2000
|
96
|
+
1770 PRINT "YOUR NAVY SHOT DOWN THREE OF MY XIII PLANES,"
|
97
|
+
1771 PRINT "AND SUNK THREE BATTLESHIPS."
|
98
|
+
1775 F=2*F/3
|
99
|
+
1780 E=(E/2)
|
100
|
+
1790 GOTO 2000
|
101
|
+
1800 IF T>C THEN 1030
|
102
|
+
1810 IF T>F/2 THEN 1830
|
103
|
+
1820 GOTO 1850
|
104
|
+
1830 PRINT "MY NAVY AND AIR FORCE IN A COMBINED ATTACK LEFT"
|
105
|
+
1831 PRINT "YOUR COUNTRY IN SHAMBLES."
|
106
|
+
1835 A=A/3
|
107
|
+
1837 B=B/3
|
108
|
+
1840 C=C/3
|
109
|
+
1845 GOTO 2000
|
110
|
+
1850 PRINT "ONE OF YOUR PLANES CRASHED INTO MY HOUSE. I AM DEAD."
|
111
|
+
1851 PRINT "MY COUNTRY FELL APART."
|
112
|
+
1860 GOTO 2010
|
113
|
+
2000 PRINT
|
114
|
+
2001 PRINT "FROM THE RESULTS OF BOTH OF YOUR ATTACKS,"
|
115
|
+
2002 IF A+B+C>3/2*(D+E+F) THEN 2010
|
116
|
+
2005 IF A+B+C<2/3*(D+E+F) THEN 2015
|
117
|
+
2006 PRINT "THE TREATY OF PARIS CONCLUDED THAT WE TAKE OUR"
|
118
|
+
2007 PRINT "RESPECTIVE COUNTRIES AND LIVE IN PEACE."
|
119
|
+
2008 GOTO 2020
|
120
|
+
2010 PRINT "YOU WON, OH! SHUCKS!!!!"
|
121
|
+
2012 GOTO 2020
|
122
|
+
2015 PRINT "YOU LOST-I CONQUERED YOUR COUNTRY. IT SERVES YOU"
|
123
|
+
2016 PRINT "RIGHT FOR PLAYING THIS STUPID GAME!!!"
|
124
|
+
2020 END
|
@@ -0,0 +1,33 @@
|
|
1
|
+
COMBAT
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
I AM AT WAR WITH YOU.
|
7
|
+
WE HAVE 72000 SOLDIERS APIECE.
|
8
|
+
|
9
|
+
DISTRIBUTE YOUR FORCES.
|
10
|
+
ME YOU
|
11
|
+
ARMY 30000 ? 10000
|
12
|
+
NAVY 20000 ? 20000
|
13
|
+
A. F. 22000 ? 42000
|
14
|
+
YOU ATTACK FIRST. TYPE (1) FOR ARMY; (2) FOR NAVY;
|
15
|
+
AND (3) FOR AIR FORCE.
|
16
|
+
? 3
|
17
|
+
HOW MANY MEN
|
18
|
+
? 20000
|
19
|
+
WE HAD A DOGFIGHT. YOU WON - AND FINISHED YOUR MISSION.
|
20
|
+
|
21
|
+
YOU ME
|
22
|
+
ARMY 10000 20000
|
23
|
+
NAVY 20000 6666
|
24
|
+
A. F. 42000 7333
|
25
|
+
WHAT IS YOUR NEXT MOVE?
|
26
|
+
ARMY=1 NAVY=2 AIR FORCE=3
|
27
|
+
? 1
|
28
|
+
HOW MANY MEN
|
29
|
+
? 10000
|
30
|
+
YOU DESTROYED MY ARMY!
|
31
|
+
|
32
|
+
FROM THE RESULTS OF BOTH OF YOUR ATTACKS,
|
33
|
+
YOU WON, OH! SHUCKS!!!!
|
@@ -0,0 +1,82 @@
|
|
1
|
+
5 PRINT TAB(33);"CRAPS"
|
2
|
+
10 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
12 PRINT:PRINT:PRINT
|
4
|
+
15 LET R=0
|
5
|
+
20 PRINT"2,3,12 ARE LOSERS; 4,5,6,8,9,10 ARE POINTS; 7,11 ARE NATURAL WINNERS."
|
6
|
+
21 LET T=1
|
7
|
+
22 PRINT "PICK A NUMBER AND INPUT TO ROLL DICE";
|
8
|
+
23 INPUT Z
|
9
|
+
24 LET X=(RND(0))
|
10
|
+
25 LET T =T+1
|
11
|
+
26 IF T<=Z GOTO 24
|
12
|
+
27 PRINT"INPUT THE AMOUNT OF YOUR WAGER.";
|
13
|
+
28 INPUT F
|
14
|
+
30 PRINT "I WILL NOW THROW THE DICE"
|
15
|
+
40 LET E=INT(7*RND(1))
|
16
|
+
41 LET S=INT(7*RND(1))
|
17
|
+
42 LET X=E+S
|
18
|
+
50 IF X=7 GOTO 180
|
19
|
+
55 IF X=11 GOTO 180
|
20
|
+
60 IF X=1 GOTO 40
|
21
|
+
62 IF X=2 GOTO 195
|
22
|
+
65 IF X=0 GOTO 40
|
23
|
+
70 IF X=2 GOTO 200
|
24
|
+
80 IF X=3 GOTO 200
|
25
|
+
90 IF X=12 GOTO 200
|
26
|
+
125 IF X=5 GOTO 220
|
27
|
+
130 IF X =6 GOTO 220
|
28
|
+
140 IF X=8 GOTO 220
|
29
|
+
150 IF X=9 GOTO 220
|
30
|
+
160 IF X =10 GOTO 220
|
31
|
+
170 IF X=4 GOTO 220
|
32
|
+
180 PRINT X "- NATURAL....A WINNER!!!!"
|
33
|
+
185 PRINT X"PAYS EVEN MONEY, YOU WIN"F"DOLLARS"
|
34
|
+
190 GOTO 210
|
35
|
+
195 PRINT X"- SNAKE EYES....YOU LOSE."
|
36
|
+
196 PRINT "YOU LOSE"F "DOLLARS."
|
37
|
+
197 LET F=0-F
|
38
|
+
198 GOTO 210
|
39
|
+
200 PRINT X " - CRAPS...YOU LOSE."
|
40
|
+
205 PRINT "YOU LOSE"F"DOLLARS."
|
41
|
+
206 LET F=0-F
|
42
|
+
210 LET R= R+F
|
43
|
+
211 GOTO 320
|
44
|
+
220 PRINT X "IS THE POINT. I WILL ROLL AGAIN"
|
45
|
+
230 LET H=INT(7*RND(1))
|
46
|
+
231 LET Q=INT(7*RND(1))
|
47
|
+
232 LET O=H+Q
|
48
|
+
240 IF O=1 GOTO 230
|
49
|
+
250 IF O=7 GOTO 290
|
50
|
+
255 IF O=0 GOTO 230
|
51
|
+
260 IF O=X GOTO 310
|
52
|
+
270 PRINT O " - NO POINT. I WILL ROLL AGAIN"
|
53
|
+
280 GOTO 230
|
54
|
+
290 PRINT O "- CRAPS. YOU LOSE."
|
55
|
+
291 PRINT "YOU LOSE $"F
|
56
|
+
292 F=0-F
|
57
|
+
293 GOTO 210
|
58
|
+
300 GOTO 320
|
59
|
+
310 PRINT X"- A WINNER.........CONGRATS!!!!!!!!"
|
60
|
+
311 PRINT X "AT 2 TO 1 ODDS PAYS YOU...LET ME SEE..."2*F"DOLLARS"
|
61
|
+
312 LET F=2*F
|
62
|
+
313 GOTO 210
|
63
|
+
320 PRINT " IF YOU WANT TO PLAY AGAIN PRINT 5 IF NOT PRINT 2";
|
64
|
+
330 INPUT M
|
65
|
+
331 IF R<0 GOTO 334
|
66
|
+
332 IF R>0 GOTO 336
|
67
|
+
333 IF R=0 GOTO 338
|
68
|
+
334 PRINT "YOU ARE NOW UNDER $";-R
|
69
|
+
335 GOTO 340
|
70
|
+
336 PRINT "YOU ARE NOW AHEAD $";R
|
71
|
+
337 GOTO 340
|
72
|
+
338 PRINT "YOU ARE NOW EVEN AT 0"
|
73
|
+
340 IF M=5 GOTO 27
|
74
|
+
341 IF R<0 GOTO 350
|
75
|
+
342 IF R>0 GOTO 353
|
76
|
+
343 IF R=0 GOTO 355
|
77
|
+
350 PRINT"TOO BAD, YOU ARE IN THE HOLE. COME AGAIN."
|
78
|
+
351 GOTO 360
|
79
|
+
353 PRINT"CONGRATULATIONS---YOU CAME OUT A WINNER. COME AGAIN!"
|
80
|
+
354 GOTO 360
|
81
|
+
355 PRINT"CONGRATULATIONS---YOU CAME OUT EVEN, NOT BAD FOR AN AMATEUR"
|
82
|
+
360 END
|