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,416 @@
|
|
1
|
+
2 PRINT TAB(33);"POKER"
|
2
|
+
4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
6 PRINT: PRINT: PRINT
|
4
|
+
10 DIM A(50),B(15)
|
5
|
+
20 DEF FNA(X)=INT(10*RND(1))
|
6
|
+
30 DEF FNB(X)=X-100*INT(X/100)
|
7
|
+
40 PRINT "WELCOME TO THE CASINO. WE EACH HAVE $200."
|
8
|
+
50 PRINT "I WILL OPEN THE BETTING BEFORE THE DRAW; YOU OPEN AFTER."
|
9
|
+
60 PRINT "TO FOLD BET 0; TO CHECK BET .5."
|
10
|
+
70 PRINT "ENOUGH TALK -- LET'S GET DOWN TO BUSINESS."
|
11
|
+
80 PRINT
|
12
|
+
90 LET O=1
|
13
|
+
100 LET C=200
|
14
|
+
110 LET S=200
|
15
|
+
120 LET P=0
|
16
|
+
130 REM
|
17
|
+
140 PRINT
|
18
|
+
150 IF C<=5 THEN 3670
|
19
|
+
160 PRINT "THE ANTE IS $5. I WILL DEAL:"
|
20
|
+
170 PRINT
|
21
|
+
180 IF S>5 THEN 200
|
22
|
+
190 GOSUB 3830
|
23
|
+
200 LET P=P+10
|
24
|
+
210 LET S=S-5
|
25
|
+
220 LET C=C-5
|
26
|
+
230 FOR Z=1 TO 10
|
27
|
+
240 GOSUB 1740
|
28
|
+
250 NEXT Z
|
29
|
+
260 PRINT "YOUR HAND:"
|
30
|
+
270 N=1
|
31
|
+
280 GOSUB 1850
|
32
|
+
290 N=6
|
33
|
+
300 I=2
|
34
|
+
310 GOSUB 2170
|
35
|
+
320 PRINT
|
36
|
+
330 IF I<>6 THEN 470
|
37
|
+
340 IF FNA(0)<=7 THEN 370
|
38
|
+
350 LET X=11100
|
39
|
+
360 GOTO 420
|
40
|
+
370 IF FNA(0)<=7 THEN 400
|
41
|
+
380 LET X=11110
|
42
|
+
390 GOTO 420
|
43
|
+
400 IF FNA(0)>=1 THEN 450
|
44
|
+
410 X=11111
|
45
|
+
420 I=7
|
46
|
+
430 Z=23
|
47
|
+
440 GOTO 580
|
48
|
+
450 Z=1
|
49
|
+
460 GOTO 510
|
50
|
+
470 IF U>=13 THEN 540
|
51
|
+
480 IF FNA(0)>=2 THEN 500
|
52
|
+
490 GOTO 420
|
53
|
+
500 Z=0
|
54
|
+
510 K=0
|
55
|
+
520 PRINT "I CHECK."
|
56
|
+
530 GOTO 620
|
57
|
+
540 IF U<=16 THEN 570
|
58
|
+
550 Z=2
|
59
|
+
560 IF FNA(0)>=1 THEN 580
|
60
|
+
570 Z=35
|
61
|
+
580 V=Z+FNA(0)
|
62
|
+
590 GOSUB 3480
|
63
|
+
600 PRINT "I'LL OPEN WITH $"V
|
64
|
+
610 K=V
|
65
|
+
620 GOSUB 3050
|
66
|
+
630 GOSUB 650
|
67
|
+
640 GOTO 820
|
68
|
+
650 IF I<>3 THEN 760
|
69
|
+
660 PRINT
|
70
|
+
670 PRINT "I WIN."
|
71
|
+
680 C=C+P
|
72
|
+
690 PRINT "NOW I HAVE $"C"AND YOU HAVE $"S
|
73
|
+
700 PRINT "DO YOU WISH TO CONTINUE";
|
74
|
+
710 INPUT H$
|
75
|
+
720 IF H$="YES" THEN 120
|
76
|
+
730 IF H$="NO" THEN 4100
|
77
|
+
740 PRINT "ANSWER YES OR NO, PLEASE."
|
78
|
+
750 GOTO 700
|
79
|
+
760 IF I<>4 THEN 810
|
80
|
+
770 PRINT
|
81
|
+
780 PRINT "YOU WIN."
|
82
|
+
790 S=S+P
|
83
|
+
800 GOTO 690
|
84
|
+
810 RETURN
|
85
|
+
820 PRINT
|
86
|
+
830 PRINT "NOW WE DRAW -- HOW MANY CARDS DO YOU WANT";
|
87
|
+
840 INPUT T
|
88
|
+
850 IF T=0 THEN 980
|
89
|
+
860 Z=10
|
90
|
+
870 IF T<4 THEN 900
|
91
|
+
880 PRINT "YOU CAN'T DRAW MORE THAN THREE CARDS."
|
92
|
+
890 GOTO 840
|
93
|
+
900 PRINT "WHAT ARE THEIR NUMBERS:"
|
94
|
+
910 FOR Q=1 TO T
|
95
|
+
920 INPUT U
|
96
|
+
930 GOSUB 1730
|
97
|
+
940 NEXT Q
|
98
|
+
950 PRINT "YOUR NEW HAND:"
|
99
|
+
960 N=1
|
100
|
+
970 GOSUB 1850
|
101
|
+
980 Z=10+T
|
102
|
+
990 FOR U=6 TO 10
|
103
|
+
1000 IF INT(X/10^(U-6))<>10*INT(X/10^(U-5)) THEN 1020
|
104
|
+
1010 GOSUB 1730
|
105
|
+
1020 NEXT U
|
106
|
+
1030 PRINT
|
107
|
+
1040 PRINT "I AM TAKING"Z-10-T"CARD";
|
108
|
+
1050 IF Z=11+T THEN 1090
|
109
|
+
1060 PRINT "S"
|
110
|
+
1070 PRINT
|
111
|
+
1080 GOTO 1100
|
112
|
+
1090 PRINT
|
113
|
+
1100 N=6
|
114
|
+
1110 V=I
|
115
|
+
1120 I=1
|
116
|
+
1130 GOSUB 2170
|
117
|
+
1140 B=U
|
118
|
+
1150 M=D
|
119
|
+
1160 IF V<>7 THEN 1190
|
120
|
+
1170 Z=28
|
121
|
+
1180 GOTO 1330
|
122
|
+
1190 IF I<>6 THEN 1220
|
123
|
+
1200 Z=1
|
124
|
+
1210 GOTO 1330
|
125
|
+
1220 IF U>=13 THEN 1270
|
126
|
+
1230 Z=2
|
127
|
+
1240 IF FNA(0)<>6 THEN 1260
|
128
|
+
1250 Z=19
|
129
|
+
1260 GOTO 1330
|
130
|
+
1270 IF U>=16 THEN 1320
|
131
|
+
1280 Z=19
|
132
|
+
1290 IF FNA(0)<>8 THEN 1310
|
133
|
+
1300 Z=11
|
134
|
+
1310 GOTO 1330
|
135
|
+
1320 Z=2
|
136
|
+
1330 K=0
|
137
|
+
1340 GOSUB 3050
|
138
|
+
1350 IF T<>.5 THEN 1450
|
139
|
+
1360 IF V=7 THEN 1400
|
140
|
+
1370 IF I<>6 THEN 1400
|
141
|
+
1380 PRINT "I'LL CHECK"
|
142
|
+
1390 GOTO 1460
|
143
|
+
1400 V=Z+FNA(0)
|
144
|
+
1410 GOSUB 3480
|
145
|
+
1420 PRINT "I'LL BET $"V
|
146
|
+
1430 K=V
|
147
|
+
1440 GOSUB 3060
|
148
|
+
1450 GOSUB 650
|
149
|
+
1460 PRINT
|
150
|
+
1470 PRINT "NOW WE COMPARE HANDS:"
|
151
|
+
1480 J$=H$
|
152
|
+
1490 K$=I$
|
153
|
+
1500 PRINT "MY HAND:"
|
154
|
+
1510 N=6
|
155
|
+
1520 GOSUB 1850
|
156
|
+
1530 N=1
|
157
|
+
1540 GOSUB 2170
|
158
|
+
1550 PRINT
|
159
|
+
1560 PRINT "YOU HAVE ";
|
160
|
+
1570 K=D
|
161
|
+
1580 GOSUB 3690
|
162
|
+
1590 H$=J$
|
163
|
+
1600 I$=K$
|
164
|
+
1610 K=M
|
165
|
+
1620 PRINT "AND I HAVE ";
|
166
|
+
1630 GOSUB 3690
|
167
|
+
1640 IF B>U THEN 670
|
168
|
+
1650 IF U>B THEN 780
|
169
|
+
1660 IF H$="A FLUS" THEN 1700
|
170
|
+
1662 IF FNB(M)<FNB(D) THEN 780
|
171
|
+
1664 IF FNB(M)>FNB(D) THEN 670
|
172
|
+
1670 PRINT "THE HAND IS DRAWN."
|
173
|
+
1680 PRINT "ALL $"P"REMAINS IN THE POT."
|
174
|
+
1690 GOTO 140
|
175
|
+
1700 IF FNB(M)>FNB(D) THEN 670
|
176
|
+
1710 IF FNB(D)>FNB(M) THEN 780
|
177
|
+
1720 GOTO 1670
|
178
|
+
1730 Z=Z+1
|
179
|
+
1740 A(Z)=100*INT(4*RND(1))+INT(100*RND(1))
|
180
|
+
1750 IF INT(A(Z)/100)>3 THEN 1740
|
181
|
+
1760 IF A(Z)-100*INT(A(Z)/100)>12 THEN 1740
|
182
|
+
1765 IF Z=1 THEN 1840
|
183
|
+
1770 FOR K=1 TO Z-1
|
184
|
+
1780 IF A(Z)=A(K) THEN 1740
|
185
|
+
1790 NEXT K
|
186
|
+
1800 IF Z<=10 THEN 1840
|
187
|
+
1810 N=A(U)
|
188
|
+
1820 A(U)=A(Z)
|
189
|
+
1830 A(Z)=N
|
190
|
+
1840 RETURN
|
191
|
+
1850 FOR Z=N TO N+4
|
192
|
+
1860 PRINT Z"-- ";
|
193
|
+
1870 GOSUB 1950
|
194
|
+
1880 PRINT " OF";
|
195
|
+
1890 GOSUB 2070
|
196
|
+
1900 IF Z/2<>INT(Z/2) THEN 1920
|
197
|
+
1910 PRINT
|
198
|
+
1920 NEXT Z
|
199
|
+
1930 PRINT
|
200
|
+
1940 RETURN
|
201
|
+
1950 K=FNB(A(Z))
|
202
|
+
1960 IF K<>9 THEN 1980
|
203
|
+
1970 PRINT "JACK";
|
204
|
+
1980 IF K<>10 THEN 2000
|
205
|
+
1990 PRINT "QUEEN";
|
206
|
+
2000 IF K<>11 THEN 2020
|
207
|
+
2010 PRINT "KING";
|
208
|
+
2020 IF K<>12 THEN 2040
|
209
|
+
2030 PRINT "ACE";
|
210
|
+
2040 IF K>=9 THEN 2060
|
211
|
+
2050 PRINT K+2;
|
212
|
+
2060 RETURN
|
213
|
+
2070 K=INT(A(Z)/100)
|
214
|
+
2080 IF K<>0 THEN 2100
|
215
|
+
2090 PRINT " CLUBS",
|
216
|
+
2100 IF K<>1 THEN 2120
|
217
|
+
2110 PRINT " DIAMONDS",
|
218
|
+
2120 IF K<>2 THEN 2140
|
219
|
+
2130 PRINT " HEARTS",
|
220
|
+
2140 IF K<>3 THEN 2160
|
221
|
+
2150 PRINT " SPADES",
|
222
|
+
2160 RETURN
|
223
|
+
2170 U=0
|
224
|
+
2180 FOR Z=N TO N+4
|
225
|
+
2190 B(Z)=FNB(A(Z))
|
226
|
+
2200 IF Z=N+4 THEN 2230
|
227
|
+
2210 IF INT(A(Z)/100)<>INT(A(Z+1)/100) THEN 2230
|
228
|
+
2220 U=U+1
|
229
|
+
2230 NEXT Z
|
230
|
+
2240 IF U<>4 THEN 2310
|
231
|
+
2250 X=11111
|
232
|
+
2260 D=A(N)
|
233
|
+
2270 H$="A FLUS"
|
234
|
+
2280 I$="H IN"
|
235
|
+
2290 U=15
|
236
|
+
2300 RETURN
|
237
|
+
2310 FOR Z=N TO N+3
|
238
|
+
2320 FOR K=Z+1 TO N+4
|
239
|
+
2330 IF B(Z)<=B(K) THEN 2390
|
240
|
+
2340 X=A(Z)
|
241
|
+
2350 A(Z)=A(K)
|
242
|
+
2360 B(Z)=B(K)
|
243
|
+
2370 A(K)=X
|
244
|
+
2380 B(K)=A(K)-100*INT(A(K)/100)
|
245
|
+
2390 NEXT K
|
246
|
+
2400 NEXT Z
|
247
|
+
2410 X=0
|
248
|
+
2420 FOR Z=N TO N+3
|
249
|
+
2430 IF B(Z)<>B(Z+1) THEN 2470
|
250
|
+
2440 X=X+11*10^(Z-N)
|
251
|
+
2450 D=A(Z)
|
252
|
+
2460 GOSUB 2760
|
253
|
+
2470 NEXT Z
|
254
|
+
2480 IF X<>0 THEN 2620
|
255
|
+
2490 IF B(N)+3<>B(N+3) THEN 2520
|
256
|
+
2500 X=1111
|
257
|
+
2510 U=10
|
258
|
+
2520 IF B(N+1)+3<>B(N+4) THEN 2620
|
259
|
+
2530 IF U<>10 THEN 2600
|
260
|
+
2540 U=14
|
261
|
+
2550 H$="STRAIG"
|
262
|
+
2560 I$="HT"
|
263
|
+
2570 X=11111
|
264
|
+
2580 D=A(N+4)
|
265
|
+
2590 RETURN
|
266
|
+
2600 U=10
|
267
|
+
2610 X=11110
|
268
|
+
2620 IF U>=10 THEN 2690
|
269
|
+
2630 D=A(N+4)
|
270
|
+
2640 H$="SCHMAL"
|
271
|
+
2650 I$="TZ, "
|
272
|
+
2660 U=9
|
273
|
+
2670 X=11000
|
274
|
+
2680 GOTO 2740
|
275
|
+
2690 IF U<>10 THEN 2720
|
276
|
+
2700 IF I=1 THEN 2740
|
277
|
+
2710 GOTO 2750
|
278
|
+
2720 IF U>12 THEN 2750
|
279
|
+
2730 IF FNB(D)>6 THEN 2750
|
280
|
+
2740 I=6
|
281
|
+
2750 RETURN
|
282
|
+
2760 IF U>=11 THEN 2810
|
283
|
+
2770 U=11
|
284
|
+
2780 H$="A PAIR"
|
285
|
+
2790 I$=" OF "
|
286
|
+
2800 RETURN
|
287
|
+
2810 IF U<>11 THEN 2910
|
288
|
+
2820 IF B(Z)<>B(Z-1) THEN 2870
|
289
|
+
2830 H$="THREE"
|
290
|
+
2840 I$=" "
|
291
|
+
2850 U=13
|
292
|
+
2860 RETURN
|
293
|
+
2870 H$="TWO P"
|
294
|
+
2880 I$="AIR, "
|
295
|
+
2890 U=12
|
296
|
+
2900 RETURN
|
297
|
+
2910 IF U>12 THEN 2960
|
298
|
+
2920 U=16
|
299
|
+
2930 H$="FULL H"
|
300
|
+
2940 I$="OUSE, "
|
301
|
+
2950 RETURN
|
302
|
+
2960 IF B(Z)<>B(Z-1) THEN 3010
|
303
|
+
2970 U=17
|
304
|
+
2980 H$="FOUR"
|
305
|
+
2990 I$=" "
|
306
|
+
3000 RETURN
|
307
|
+
3010 U=16
|
308
|
+
3020 H$="FULL H"
|
309
|
+
3030 I$="OUSE, "
|
310
|
+
3040 RETURN
|
311
|
+
3050 G=0
|
312
|
+
3060 PRINT:PRINT "WHAT IS YOUR BET";
|
313
|
+
3070 INPUT T
|
314
|
+
3080 IF T-INT(T)=0 THEN 3140
|
315
|
+
3090 IF K<>0 THEN 3120
|
316
|
+
3100 IF G<>0 THEN 3120
|
317
|
+
3110 IF T=.5 THEN 3410
|
318
|
+
3120 PRINT "NO SMALL CHANGE, PLEASE."
|
319
|
+
3130 GOTO 3060
|
320
|
+
3140 IF S-G-T>=0 THEN 3170
|
321
|
+
3150 GOSUB 3830
|
322
|
+
3160 GOTO 3060
|
323
|
+
3170 IF T<>0 THEN 3200
|
324
|
+
3180 I=3
|
325
|
+
3190 GOTO 3380
|
326
|
+
3200 IF G+T>=K THEN 3230
|
327
|
+
3210 PRINT "IF YOU CAN'T SEE MY BET, THEN FOLD."
|
328
|
+
3220 GOTO 3060
|
329
|
+
3230 G=G+T
|
330
|
+
3240 IF G=K THEN 3380
|
331
|
+
3250 IF Z<>1 THEN 3420
|
332
|
+
3260 IF G>5 THEN 3300
|
333
|
+
3270 IF Z>=2 THEN 3350
|
334
|
+
3280 V=5
|
335
|
+
3290 GOTO 3420
|
336
|
+
3300 IF Z=1 THEN 3320
|
337
|
+
3310 IF T<=25 THEN 3350
|
338
|
+
3320 I=4
|
339
|
+
3330 PRINT "I FOLD."
|
340
|
+
3340 RETURN
|
341
|
+
3350 IF Z=2 THEN 3430
|
342
|
+
3360 PRINT "I'LL SEE YOU."
|
343
|
+
3370 K=G
|
344
|
+
3380 S=S-G
|
345
|
+
3390 C=C-K
|
346
|
+
3400 P=P+G+K
|
347
|
+
3410 RETURN
|
348
|
+
3420 IF G>3*Z THEN 3350
|
349
|
+
3430 V=G-K+FNA(0)
|
350
|
+
3440 GOSUB 3480
|
351
|
+
3450 PRINT "I'LL SEE YOU, AND RAISE YOU"V
|
352
|
+
3460 K=G+V
|
353
|
+
3470 GOTO 3060
|
354
|
+
3480 IF C-G-V>=0 THEN 3660
|
355
|
+
3490 IF G<>0 THEN 3520
|
356
|
+
3500 V=C
|
357
|
+
3510 RETURN
|
358
|
+
3520 IF C-G>=0 THEN 3360
|
359
|
+
3530 IF (O/2)<>INT(O/2) THEN 3600
|
360
|
+
3540 PRINT "WOULD YOU LIKE TO BUY BACK YOUR WATCH FOR $50";
|
361
|
+
3550 INPUT J$
|
362
|
+
3560 IF LEFT$(J$,1)="N" THEN 3600
|
363
|
+
3570 C=C+50
|
364
|
+
3580 O=O/2
|
365
|
+
3590 RETURN
|
366
|
+
3600 IF O/3<>INT(O/3) THEN 3670
|
367
|
+
3610 PRINT "WOULD YOU LIKE TO BUY BACK YOUR TIE TACK FOR $50";
|
368
|
+
3620 INPUT J$
|
369
|
+
3630 IF LEFT$(J$,1)="N" THEN 3670
|
370
|
+
3640 C=C+50
|
371
|
+
3650 O=O/3
|
372
|
+
3660 RETURN
|
373
|
+
3670 PRINT "I'M BUSTED. CONGRATULATIONS!"
|
374
|
+
3680 STOP
|
375
|
+
3690 PRINT H$;I$;
|
376
|
+
3700 IF H$<>"A FLUS" THEN 3750
|
377
|
+
3710 K=INT(K/100)
|
378
|
+
3720 GOSUB 2080
|
379
|
+
3730 PRINT
|
380
|
+
3740 RETURN
|
381
|
+
3750 K=FNB(K)
|
382
|
+
3760 GOSUB 1960
|
383
|
+
3770 IF H$="SCHMAL" THEN 3790
|
384
|
+
3780 IF H$<>"STRAIG" THEN 3810
|
385
|
+
3790 PRINT " HIGH"
|
386
|
+
3800 RETURN
|
387
|
+
3810 PRINT "'S"
|
388
|
+
3820 RETURN
|
389
|
+
3830 PRINT
|
390
|
+
3840 PRINT "YOU CAN'T BET WITH WHAT YOU HAVEN'T GOT."
|
391
|
+
3850 IF O/2=INT(O/2) THEN 3970
|
392
|
+
3860 PRINT "WOULD YOU LIKE TO SELL YOUR WATCH";
|
393
|
+
3870 INPUT J$
|
394
|
+
3880 IF LEFT$(J$,1)="N" THEN 3970
|
395
|
+
3890 IF FNA(0)>=7 THEN 3930
|
396
|
+
3900 PRINT "I'LL GIVE YOU $75 FOR IT."
|
397
|
+
3910 S=S+75
|
398
|
+
3920 GOTO 3950
|
399
|
+
3930 PRINT "THAT'S A PRETTY CRUMMY WATCH - I'LL GIVE YOU $25."
|
400
|
+
3940 S=S+25
|
401
|
+
3950 O=O*2
|
402
|
+
3960 RETURN
|
403
|
+
3970 IF O/3<>INT(O/3) THEN 4090
|
404
|
+
3980 PRINT "WILL YOU PART WITH THAT DIAMOND TIE TACK":
|
405
|
+
3990 INPUT J$
|
406
|
+
4000 IF LEFT$(J$,1)="N" THEN 4080
|
407
|
+
4010 IF FNA(0)>=6 THEN 4050
|
408
|
+
4020 PRINT "YOU ARE NOW $100 RICHER."
|
409
|
+
4030 S=S+100
|
410
|
+
4040 GOTO 4070
|
411
|
+
4050 PRINT "IT'S PASTE. $25."
|
412
|
+
4060 S=S+25
|
413
|
+
4070 O=O*3
|
414
|
+
4080 RETURN
|
415
|
+
4090 PRINT "YOUR WAD IS SHOT. SO LONG, SUCKER!"
|
416
|
+
4100 END
|
@@ -0,0 +1,197 @@
|
|
1
|
+
POKER
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
WELCOME TO THE CASINO. WE EACH HAVE $200.
|
7
|
+
I WILL OPEN THE BETTING BEFORE THE DRAW; YOU OPEN AFTER.
|
8
|
+
TO FOLD BET 0; TO CHECK BET .5.
|
9
|
+
ENOUGH TALK -- LET'S GET DOWN TO BUSINESS.
|
10
|
+
|
11
|
+
|
12
|
+
THE ANTE IS $5. I WILL DEAL:
|
13
|
+
|
14
|
+
YOUR HAND:
|
15
|
+
1 -- 10 OF CLUBS 2 -- 8 OF HEARTS
|
16
|
+
3 -- ACE OF CLUBS 4 -- QUEEN OF SPADES
|
17
|
+
5 -- KING OF CLUBS
|
18
|
+
|
19
|
+
I CHECK.
|
20
|
+
|
21
|
+
WHAT IS YOUR BET? 0
|
22
|
+
|
23
|
+
I WIN.
|
24
|
+
NOW I HAVE $ 205 AND YOU HAVE $ 195
|
25
|
+
DO YOU WISH TO CONTINUE? YES
|
26
|
+
|
27
|
+
THE ANTE IS $5. I WILL DEAL:
|
28
|
+
|
29
|
+
YOUR HAND:
|
30
|
+
1 -- 3 OF HEARTS 2 -- QUEEN OF HEARTS
|
31
|
+
3 -- ACE OF HEARTS 4 -- 3 OF SPADES
|
32
|
+
5 -- 7 OF DIAMONDS
|
33
|
+
|
34
|
+
I'LL OPEN WITH $ 32
|
35
|
+
|
36
|
+
WHAT IS YOUR BET? 0
|
37
|
+
|
38
|
+
I WIN.
|
39
|
+
NOW I HAVE $ 210 AND YOU HAVE $ 190
|
40
|
+
DO YOU WISH TO CONTINUE? YES
|
41
|
+
|
42
|
+
THE ANTE IS $5. I WILL DEAL:
|
43
|
+
|
44
|
+
YOUR HAND:
|
45
|
+
1 -- 9 OF CLUBS 2 -- 7 OF CLUBS
|
46
|
+
3 -- 7 OF SPADES 4 -- 8 OF DIAMONDS
|
47
|
+
5 -- 5 OF SPADES
|
48
|
+
|
49
|
+
I CHECK.
|
50
|
+
|
51
|
+
WHAT IS YOUR BET? 5
|
52
|
+
I'LL SEE YOU.
|
53
|
+
|
54
|
+
NOW WE DRAW -- HOW MANY CARDS DO YOU WANT? 3
|
55
|
+
WHAT ARE THEIR NUMBERS:
|
56
|
+
? 1,5,4
|
57
|
+
? 5
|
58
|
+
? 4
|
59
|
+
YOUR NEW HAND:
|
60
|
+
1 -- 6 OF SPADES 2 -- 7 OF CLUBS
|
61
|
+
3 -- 7 OF SPADES 4 -- JACK OF HEARTS
|
62
|
+
5 -- 3 OF SPADES
|
63
|
+
|
64
|
+
I AM TAKING 3 CARDS
|
65
|
+
|
66
|
+
|
67
|
+
WHAT IS YOUR BET? 0
|
68
|
+
|
69
|
+
I WIN.
|
70
|
+
NOW I HAVE $ 220 AND YOU HAVE $ 180
|
71
|
+
DO YOU WISH TO CONTINUE? YES
|
72
|
+
|
73
|
+
THE ANTE IS $5. I WILL DEAL:
|
74
|
+
|
75
|
+
YOUR HAND:
|
76
|
+
1 -- 9 OF HEARTS 2 -- QUEEN OF SPADES
|
77
|
+
3 -- 4 OF SPADES 4 -- 3 OF CLUBS
|
78
|
+
5 -- 10 OF CLUBS
|
79
|
+
|
80
|
+
I CHECK.
|
81
|
+
|
82
|
+
WHAT IS YOUR BET? 0.5
|
83
|
+
|
84
|
+
NOW WE DRAW -- HOW MANY CARDS DO YOU WANT? 3
|
85
|
+
WHAT ARE THEIR NUMBERS:
|
86
|
+
? 1
|
87
|
+
? 3
|
88
|
+
? 4
|
89
|
+
YOUR NEW HAND:
|
90
|
+
1 -- 5 OF DIAMONDS 2 -- QUEEN OF SPADES
|
91
|
+
3 -- KING OF SPADES 4 -- 2 OF HEARTS
|
92
|
+
5 -- 10 OF CLUBS
|
93
|
+
|
94
|
+
I AM TAKING 3 CARDS
|
95
|
+
|
96
|
+
|
97
|
+
WHAT IS YOUR BET? 0.5
|
98
|
+
I'LL CHECK
|
99
|
+
|
100
|
+
NOW WE COMPARE HANDS:
|
101
|
+
MY HAND:
|
102
|
+
6 -- 8 OF CLUBS
|
103
|
+
7 -- 10 OF HEARTS 8 -- QUEEN OF CLUBS
|
104
|
+
9 -- KING OF HEARTS 10 -- ACE OF SPADES
|
105
|
+
|
106
|
+
|
107
|
+
YOU HAVE SCHMALTZ, KING HIGH
|
108
|
+
AND I HAVE SCHMALTZ, ACE HIGH
|
109
|
+
I WIN.
|
110
|
+
NOW I HAVE $ 225 AND YOU HAVE $ 175
|
111
|
+
DO YOU WISH TO CONTINUE? YES
|
112
|
+
|
113
|
+
THE ANTE IS $5. I WILL DEAL:
|
114
|
+
|
115
|
+
YOUR HAND:
|
116
|
+
1 -- 8 OF HEARTS 2 -- 3 OF SPADES
|
117
|
+
3 -- 6 OF HEARTS 4 -- 4 OF DIAMONDS
|
118
|
+
5 -- ACE OF DIAMONDS
|
119
|
+
|
120
|
+
I CHECK.
|
121
|
+
|
122
|
+
WHAT IS YOUR BET? 5
|
123
|
+
I'LL SEE YOU.
|
124
|
+
|
125
|
+
NOW WE DRAW -- HOW MANY CARDS DO YOU WANT? 3
|
126
|
+
WHAT ARE THEIR NUMBERS:
|
127
|
+
? 3
|
128
|
+
? 2
|
129
|
+
? 4
|
130
|
+
YOUR NEW HAND:
|
131
|
+
1 -- 8 OF HEARTS 2 -- KING OF SPADES
|
132
|
+
3 -- 5 OF HEARTS 4 -- 3 OF CLUBS
|
133
|
+
5 -- ACE OF DIAMONDS
|
134
|
+
|
135
|
+
I AM TAKING 3 CARDS
|
136
|
+
|
137
|
+
|
138
|
+
WHAT IS YOUR BET? 0.5
|
139
|
+
I'LL CHECK
|
140
|
+
|
141
|
+
NOW WE COMPARE HANDS:
|
142
|
+
MY HAND:
|
143
|
+
6 -- 2 OF DIAMONDS
|
144
|
+
7 -- 2 OF CLUBS 8 -- 7 OF SPADES
|
145
|
+
9 -- 8 OF CLUBS 10 -- QUEEN OF CLUBS
|
146
|
+
|
147
|
+
|
148
|
+
YOU HAVE SCHMALTZ, ACE HIGH
|
149
|
+
AND I HAVE A PAIR OF 2 'S
|
150
|
+
I WIN.
|
151
|
+
NOW I HAVE $ 235 AND YOU HAVE $ 165
|
152
|
+
DO YOU WISH TO CONTINUE? YES
|
153
|
+
|
154
|
+
THE ANTE IS $5. I WILL DEAL:
|
155
|
+
|
156
|
+
YOUR HAND:
|
157
|
+
1 -- KING OF HEARTS 2 -- 5 OF DIAMONDS
|
158
|
+
3 -- QUEEN OF CLUBS 4 -- QUEEN OF SPADES
|
159
|
+
5 -- JACK OF HEARTS
|
160
|
+
|
161
|
+
I'LL OPEN WITH $ 28
|
162
|
+
|
163
|
+
WHAT IS YOUR BET? 25
|
164
|
+
IF YOU CAN'T SEE MY BET, THEN FOLD.
|
165
|
+
|
166
|
+
WHAT IS YOUR BET? 28
|
167
|
+
|
168
|
+
NOW WE DRAW -- HOW MANY CARDS DO YOU WANT? 3
|
169
|
+
WHAT ARE THEIR NUMBERS:
|
170
|
+
? 1
|
171
|
+
? 2
|
172
|
+
? 5
|
173
|
+
YOUR NEW HAND:
|
174
|
+
1 -- 4 OF CLUBS 2 -- ACE OF HEARTS
|
175
|
+
3 -- QUEEN OF CLUBS 4 -- QUEEN OF SPADES
|
176
|
+
5 -- 8 OF DIAMONDS
|
177
|
+
|
178
|
+
I AM TAKING 0 CARDS
|
179
|
+
|
180
|
+
|
181
|
+
WHAT IS YOUR BET? 50
|
182
|
+
I'LL SEE YOU, AND RAISE YOU 52
|
183
|
+
|
184
|
+
WHAT IS YOUR BET? 52
|
185
|
+
|
186
|
+
NOW WE COMPARE HANDS:
|
187
|
+
MY HAND:
|
188
|
+
6 -- 5 OF HEARTS
|
189
|
+
7 -- 5 OF SPADES 8 -- 7 OF HEARTS
|
190
|
+
9 -- 8 OF SPADES 10 -- 9 OF HEARTS
|
191
|
+
|
192
|
+
|
193
|
+
YOU HAVE A PAIR OF QUEEN'S
|
194
|
+
AND I HAVE A PAIR OF 5 'S
|
195
|
+
YOU WIN.
|
196
|
+
NOW I HAVE $ 100 AND YOU HAVE $ 300
|
197
|
+
DO YOU WISH TO CONTINUE? NO
|