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,114 @@
|
|
1
|
+
2 PRINT TAB(30);"TIC-TAC-TOE"
|
2
|
+
4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
6 PRINT:PRINT:PRINT
|
4
|
+
8 PRINT "THE BOARD IS NUMBERED:"
|
5
|
+
10 PRINT " 1 2 3"
|
6
|
+
12 PRINT " 4 5 6"
|
7
|
+
14 PRINT " 7 8 9"
|
8
|
+
16 PRINT:PRINT:PRINT
|
9
|
+
20 DIM S(9)
|
10
|
+
50 INPUT"DO YOU WANT 'X' OR 'O'";C$
|
11
|
+
55 IF C$="X"THEN 475
|
12
|
+
60 P$="O":Q$="X"
|
13
|
+
100 G=-1:H=1:IF S(5)<>0 THEN 103
|
14
|
+
102 S(5)=-1:GOTO 195
|
15
|
+
103 IF S(5)<>1 THEN 106
|
16
|
+
104 IF S(1)<>0 THEN 110
|
17
|
+
105 S(1)=-1:GOTO 195
|
18
|
+
106 IF S(2)=1 AND S(1)=0 THEN 181
|
19
|
+
107 IF S(4)=1 AND S(1)=0 THEN 181
|
20
|
+
108 IF S(6)=1 AND S(9)=0 THEN 189
|
21
|
+
109 IF S(8)=1 AND S(9)=0 THEN 189
|
22
|
+
110 IF G=1 THEN 112
|
23
|
+
111 GOTO 118
|
24
|
+
112 J=3*INT((M-1)/3)+1
|
25
|
+
113 IF 3*INT((M-1)/3)+1=M THEN K=1
|
26
|
+
114 IF 3*INT((M-1)/3)+2=M THEN K=2
|
27
|
+
115 IF 3*INT((M-1)/3)+3=M THEN K=3
|
28
|
+
116 GOTO 120
|
29
|
+
118 FOR J=1 TO 7 STEP 3:FOR K=1 TO 3
|
30
|
+
120 IF S(J)<>G THEN 130
|
31
|
+
122 IF S(J+2)<>G THEN 135
|
32
|
+
126 IF S(J+1)<>0 THEN 150
|
33
|
+
128 S(J+1)=-1:GOTO 195
|
34
|
+
130 IF S(J)=H THEN 150
|
35
|
+
131 IF S(J+2)<>G THEN 150
|
36
|
+
132 IF S(J+1)<>G THEN 150
|
37
|
+
133 S(J)=-1:GOTO 195
|
38
|
+
135 IF S(J+2)<>0 THEN 150
|
39
|
+
136 IF S(J+1)<>G THEN 150
|
40
|
+
138 S(J+2)=-1:GOTO 195
|
41
|
+
150 IF S(K)<>G THEN 160
|
42
|
+
152 IF S(K+6)<>G THEN 165
|
43
|
+
156 IF S(K+3)<>0 THEN 170
|
44
|
+
158 S(K+3)=-1:GOTO 195
|
45
|
+
160 IF S(K)=H THEN 170
|
46
|
+
161 IF S(K+6)<>G THEN 170
|
47
|
+
162 IF S(K+3)<>G THEN 170
|
48
|
+
163 S(K)=-1:GOTO 195
|
49
|
+
165 IF S(K+6)<>0 THEN 170
|
50
|
+
166 IF S(K+3)<>G THEN 170
|
51
|
+
168 S(K+6)=-1:GOTO 195
|
52
|
+
170 GOTO 450
|
53
|
+
171 IF S(3)=G AND S(7)=0 THEN 187
|
54
|
+
172 IF S(9)=G AND S(1)=0 THEN 181
|
55
|
+
173 IF S(7)=G AND S(3)=0 THEN 183
|
56
|
+
174 IF S(9)=0 AND S(1)=G THEN 189
|
57
|
+
175 IF G=-1 THEN G=1:H=-1:GOTO 110
|
58
|
+
176 IF S(9)=1 AND S(3)=0 THEN 182
|
59
|
+
177 FOR I=2 TO 9:IF S(I)<>0 THEN 179
|
60
|
+
178 S(I)=-1:GOTO 195
|
61
|
+
179 NEXT I
|
62
|
+
181 S(1)=-1:GOTO 195
|
63
|
+
182 IF S(1)=1 THEN 177
|
64
|
+
183 S(3)=-1:GOTO 195
|
65
|
+
187 S(7)=-1:GOTO 195
|
66
|
+
189 S(9)=-1
|
67
|
+
195 PRINT:PRINT"THE COMPUTER MOVES TO..."
|
68
|
+
202 GOSUB 1000
|
69
|
+
205 GOTO 500
|
70
|
+
450 IF G=1 THEN 465
|
71
|
+
455 IF J=7 AND K=3 THEN 465
|
72
|
+
460 NEXT K,J
|
73
|
+
465 IF S(5)=G THEN 171
|
74
|
+
467 GOTO 175
|
75
|
+
475 P$="X":Q$="O"
|
76
|
+
500 PRINT:INPUT"WHERE DO YOU MOVE";M
|
77
|
+
502 IF M=0 THEN PRINT"THANKS FOR THE GAME.":GOTO 2000
|
78
|
+
503 IF M>9 THEN 506
|
79
|
+
505 IF S(M)=0 THEN 510
|
80
|
+
506 PRINT"THAT SQUARE IS OCCUPIED.":PRINT:PRINT:GOTO 500
|
81
|
+
510 G=1:S(M)=1
|
82
|
+
520 GOSUB 1000
|
83
|
+
530 GOTO 100
|
84
|
+
1000 PRINT:FOR I=1 TO 9:PRINT" ";:IF S(I)<>-1 THEN 1014
|
85
|
+
1012 PRINT Q$" ";:GOTO 1020
|
86
|
+
1014 IF S(I)<>0 THEN 1018
|
87
|
+
1016 PRINT" ";:GOTO 1020
|
88
|
+
1018 PRINT P$" ";
|
89
|
+
1020 IF I<>3 AND I<>6 THEN 1050
|
90
|
+
1030 PRINT:PRINT"---+---+---"
|
91
|
+
1040 GOTO 1080
|
92
|
+
1050 IF I=9 THEN 1080
|
93
|
+
1060 PRINT"!";
|
94
|
+
1080 NEXT I:PRINT:PRINT:PRINT
|
95
|
+
1095 FOR I=1 TO 7 STEP 3
|
96
|
+
1100 IF S(I)<>S(I+1)THEN 1115
|
97
|
+
1105 IF S(I)<>S(I+2)THEN 1115
|
98
|
+
1110 IF S(I)=-1 THEN 1350
|
99
|
+
1112 IF S(I)=1 THEN 1200
|
100
|
+
1115 NEXT I:FOR I=1 TO 3:IF S(I)<>S(I+3)THEN 1150
|
101
|
+
1130 IF S(I)<>S(I+6)THEN 1150
|
102
|
+
1135 IF S(I)=-1 THEN 1350
|
103
|
+
1137 IF S(I)=1 THEN 1200
|
104
|
+
1150 NEXT I:FOR I=1 TO 9:IF S(I)=0 THEN 1155
|
105
|
+
1152 NEXT I:GOTO 1400
|
106
|
+
1155 IF S(5)<>G THEN 1170
|
107
|
+
1160 IF S(1)=G AND S(9)=G THEN 1180
|
108
|
+
1165 IF S(3)=G AND S(7)=G THEN 1180
|
109
|
+
1170 RETURN
|
110
|
+
1180 IF G=-1 THEN 1350
|
111
|
+
1200 PRINT"YOU BEAT ME!! GOOD GAME.":GOTO 2000
|
112
|
+
1350 PRINT"I WIN, TURKEY!!!":GOTO 2000
|
113
|
+
1400 PRINT"IT'S A DRAW. THANK YOU."
|
114
|
+
2000 END
|
@@ -0,0 +1,104 @@
|
|
1
|
+
TIC-TAC-TOE
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
THE BOARD IS NUMBERED:
|
7
|
+
1 2 3
|
8
|
+
4 5 6
|
9
|
+
7 8 9
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
DO YOU WANT 'X' OR 'O'? X
|
14
|
+
|
15
|
+
WHERE DO YOU MOVE? 1
|
16
|
+
|
17
|
+
X ! !
|
18
|
+
---+---+---
|
19
|
+
! !
|
20
|
+
---+---+---
|
21
|
+
! !
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
THE COMPUTER MOVES TO...
|
26
|
+
|
27
|
+
X ! !
|
28
|
+
---+---+---
|
29
|
+
! O !
|
30
|
+
---+---+---
|
31
|
+
! !
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
WHERE DO YOU MOVE? 9
|
36
|
+
|
37
|
+
X ! !
|
38
|
+
---+---+---
|
39
|
+
! O !
|
40
|
+
---+---+---
|
41
|
+
! ! X
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
THE COMPUTER MOVES TO...
|
46
|
+
|
47
|
+
X ! O !
|
48
|
+
---+---+---
|
49
|
+
! O !
|
50
|
+
---+---+---
|
51
|
+
! ! X
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
WHERE DO YOU MOVE? 8
|
56
|
+
|
57
|
+
X ! O !
|
58
|
+
---+---+---
|
59
|
+
! O !
|
60
|
+
---+---+---
|
61
|
+
! X ! X
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
THE COMPUTER MOVES TO...
|
66
|
+
|
67
|
+
X ! O !
|
68
|
+
---+---+---
|
69
|
+
! O !
|
70
|
+
---+---+---
|
71
|
+
O ! X ! X
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
WHERE DO YOU MOVE? 3
|
76
|
+
|
77
|
+
X ! O ! X
|
78
|
+
---+---+---
|
79
|
+
! O !
|
80
|
+
---+---+---
|
81
|
+
O ! X ! X
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
THE COMPUTER MOVES TO...
|
86
|
+
|
87
|
+
X ! O ! X
|
88
|
+
---+---+---
|
89
|
+
! O ! O
|
90
|
+
---+---+---
|
91
|
+
O ! X ! X
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
WHERE DO YOU MOVE? 4
|
96
|
+
|
97
|
+
X ! O ! X
|
98
|
+
---+---+---
|
99
|
+
X ! O ! O
|
100
|
+
---+---+---
|
101
|
+
O ! X ! X
|
102
|
+
|
103
|
+
|
104
|
+
IT'S A DRAW. THANK YOU.
|
@@ -0,0 +1,125 @@
|
|
1
|
+
10 PRINT TAB(33);"TOWERS"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
90 PRINT
|
5
|
+
100 REM*** INITIALIZE
|
6
|
+
110 DIM T(7,3)
|
7
|
+
120 E=0
|
8
|
+
130 FOR D=1 TO 7
|
9
|
+
140 FOR N=1 TO 3
|
10
|
+
150 T(D,N)=0
|
11
|
+
160 NEXT N
|
12
|
+
170 NEXT D
|
13
|
+
180 PRINT "TOWERS OF HANOI PUZZLE.": PRINT
|
14
|
+
200 PRINT "YOU MUST TRANSFER THE DISKS FROM THE LEFT TO THE RIGHT"
|
15
|
+
205 PRINT "TOWER, ONE AT A TIME, NEVER PUTTING A LARGER DISK ON A"
|
16
|
+
210 PRINT "SMALLER DISK.": PRINT
|
17
|
+
215 INPUT "HOW MANY DISKS DO YOU WANT TO MOVE (7 IS MAX)";S
|
18
|
+
220 PRINT
|
19
|
+
230 M=0
|
20
|
+
240 FOR Q=1 TO 7
|
21
|
+
250 IF Q=S THEN 350
|
22
|
+
260 NEXT Q
|
23
|
+
270 E=E+1
|
24
|
+
280 IF E>2 THEN 310
|
25
|
+
290 PRINT "SORRY, BUT I CAN'T DO THAT JOB FOR YOU.": GOTO 215
|
26
|
+
310 PRINT "ALL RIGHT, WISE GUY, IF YOU CAN'T PLAY THE GAME RIGHT, I'LL"
|
27
|
+
320 PRINT "JUST TAKE MY PUZZLE AND GO HOME. SO LONG.": STOP
|
28
|
+
340 REM *** STORE DISKS FROM SMALLEST TO LARGEST
|
29
|
+
350 PRINT "IN THIS PROGRAM, WE SHALL REFER TO DISKS BY NUMERICAL CODE."
|
30
|
+
355 PRINT "3 WILL REPRESENT THE SMALLEST DISK, 5 THE NEXT SIZE,"
|
31
|
+
360 PRINT "7 THE NEXT, AND SO ON, UP TO 15. IF YOU DO THE PUZZLE WITH"
|
32
|
+
365 PRINT "2 DISKS, THEIR CODE NAMES WOULD BE 13 AND 15. WITH 3 DISKS"
|
33
|
+
370 PRINT "THE CODE NAMES WOULD BE 11, 13 AND 15, ETC. THE NEEDLES"
|
34
|
+
375 PRINT "ARE NUMBERED FROM LEFT TO RIGHT, 1 TO 3. WE WILL"
|
35
|
+
380 PRINT "START WITH THE DISKS ON NEEDLE 1, AND ATTEMPT TO MOVE THEM"
|
36
|
+
385 PRINT "TO NEEDLE 3."
|
37
|
+
390 PRINT: PRINT "GOOD LUCK!": PRINT
|
38
|
+
400 Y=7: D=15
|
39
|
+
420 FOR X=S TO 1 STEP -1
|
40
|
+
430 T(Y,1)=D: D=D-2: Y=Y-1
|
41
|
+
460 NEXT X
|
42
|
+
470 GOSUB 1230
|
43
|
+
480 PRINT "WHICH DISK WOULD YOU LIKE TO MOVE";:E=0
|
44
|
+
500 INPUT D
|
45
|
+
510 IF (D-3)*(D-5)*(D-7)*(D-9)*(D-11)*(D-13)*(D-15)=0 THEN 580
|
46
|
+
520 PRINT "ILLEGAL ENTRY... YOU MAY ONLY TYPE 3,5,7,9,11,13, OR 15."
|
47
|
+
530 E=E+1: IF E>1 THEN 560
|
48
|
+
550 GOTO 500
|
49
|
+
560 PRINT "STOP WASTING MY TIME. GO BOTHER SOMEONE ELSE.": STOP
|
50
|
+
580 REM *** CHECK IF REQUESTED DISK IS BELOW ANOTHER
|
51
|
+
590 FOR R=1 TO 7
|
52
|
+
600 FOR C=1 TO 3
|
53
|
+
610 IF T(R,C)=D THEN 640
|
54
|
+
620 NEXT C: NEXT R
|
55
|
+
640 FOR Q=R TO 1 STEP -1
|
56
|
+
645 IF T(Q,C)=0 THEN 660
|
57
|
+
650 IF T(Q,C)<D THEN 680
|
58
|
+
660 NEXT Q
|
59
|
+
670 GOTO 700
|
60
|
+
680 PRINT "THAT DISK IS BELOW ANOTHER ONE. MAKE ANOTHER CHOICE."
|
61
|
+
690 GOTO 480
|
62
|
+
700 E=0
|
63
|
+
705 INPUT "PLACE DISK ON WHICH NEEDLE";N
|
64
|
+
730 IF (N-1)*(N-2)*(N-3)=0 THEN 800
|
65
|
+
735 E=E+1
|
66
|
+
740 IF E>1 THEN 780
|
67
|
+
750 PRINT "I'LL ASSUME YOU HIT THE WRONG KEY THIS TIME. BUT WATCH IT,"
|
68
|
+
760 PRINT "I ONLY ALLOW ONE MISTAKE.": GOTO 705
|
69
|
+
780 PRINT "I TRIED TO WARN YOU, BUT YOU WOULDN'T LISTEN."
|
70
|
+
790 PRINT "BYE BYE, BIG SHOT.":STOP
|
71
|
+
800 FOR R=1 TO 7
|
72
|
+
810 IF T(R,N)<>0 THEN 840
|
73
|
+
820 NEXT R
|
74
|
+
830 GOTO 880
|
75
|
+
835 REM *** CHECK IF DISK TO BE PLACED ON A LARGER ONE
|
76
|
+
840 IF D<T(R,N) THEN 880
|
77
|
+
850 PRINT "YOU CAN'T PLACE A LARGER DISK ON TOP OF A SMALLER ONE,"
|
78
|
+
860 PRINT "IT MIGHT CRUSH IT!": PRINT "NOW THEN, ";:GOTO 480
|
79
|
+
875 REM *** MOVE RELOCATED DISK
|
80
|
+
880 FOR V=1 TO 7: FOR W=1 TO 3
|
81
|
+
900 IF T(V,W)=D THEN 930
|
82
|
+
910 NEXT W: NEXT V
|
83
|
+
925 REM *** LOCATE EMPTY SPACE ON NEEDLE N
|
84
|
+
930 FOR U=1 TO 7
|
85
|
+
940 IF T(U,N)<>0 THEN 970
|
86
|
+
950 NEXT U
|
87
|
+
960 U=7: GOTO 980
|
88
|
+
965 REM *** MOVE DISK AND SET OLD LOCATION TO 0
|
89
|
+
970 U=U-1
|
90
|
+
980 T(U,N)=T(V,W): T(V,W)=0
|
91
|
+
995 REM *** PRINT OUT CURRENT STATUS
|
92
|
+
1000 GOSUB 1230
|
93
|
+
1018 REM *** CHECK IF DONE
|
94
|
+
1020 M=M+1
|
95
|
+
1030 FOR R=1 TO 7: FOR C=1 TO 2
|
96
|
+
1050 IF T(R,C)<>0 THEN 1090
|
97
|
+
1060 NEXT C: NEXT R
|
98
|
+
1080 GOTO 1120
|
99
|
+
1090 IF M<=128 THEN 480
|
100
|
+
1100 PRINT "SORRY, BUT I HAVE ORDERS TO STOP IF YOU MAKE MORE THAN"
|
101
|
+
1110 PRINT "128 MOVES.": STOP
|
102
|
+
1120 IF M<>2^S-1 THEN 1140
|
103
|
+
1130 PRINT:PRINT "CONGRATULATIONS!!":PRINT
|
104
|
+
1140 PRINT "YOU HAVE PERFORMED THE TASK IN";M;"MOVES."
|
105
|
+
1150 PRINT: PRINT "TRY AGAIN (YES OR NO)";: INPUT A$
|
106
|
+
1160 IF A$="NO" THEN 1390
|
107
|
+
1170 IF A$="YES" THEN 90
|
108
|
+
1180 PRINT: PRINT "'YES' OR 'NO' PLEASE";: INPUT A$: GOTO 1160
|
109
|
+
1230 REM *** PRINT SUBROUTINE
|
110
|
+
1240 FOR K=1 TO 7
|
111
|
+
1250 Z=10
|
112
|
+
1260 FOR J=1 TO 3
|
113
|
+
1270 IF T(K,J)=0 THEN 1330
|
114
|
+
1280 PRINT TAB(Z-INT(T(K,J)/2));
|
115
|
+
1290 FOR V=1 TO T(K,J)
|
116
|
+
1300 PRINT "*";
|
117
|
+
1310 NEXT V
|
118
|
+
1320 GOTO 1340
|
119
|
+
1330 PRINT TAB(Z);"*";
|
120
|
+
1340 Z=Z+21
|
121
|
+
1350 NEXT J
|
122
|
+
1360 PRINT
|
123
|
+
1370 NEXT K
|
124
|
+
1380 RETURN
|
125
|
+
1390 PRINT: PRINT "THANKS FOR THE GAME!": PRINT: END
|
@@ -0,0 +1,70 @@
|
|
1
|
+
TOWERS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
TOWERS OF HANOI PUZZLE.
|
8
|
+
|
9
|
+
YOU MUST TRANSFER THE DISKS FROM THE LEFT TO THE RIGHT
|
10
|
+
TOWER, ONE AT A TIME, NEVER PUTTING A LARGER DISK ON A
|
11
|
+
SMALLER DISK.
|
12
|
+
|
13
|
+
HOW MANY DISKS DO YOU WANT TO MOVE (7 IS MAX)? 2
|
14
|
+
|
15
|
+
IN THIS PROGRAM, WE SHALL REFER TO DISKS BY NUMERICAL CODE.
|
16
|
+
3 WILL REPRESENT THE SMALLEST DISK, 5 THE NEXT SIZE,
|
17
|
+
7 THE NEXT, AND SO ON, UP TO 15. IF YOU DO THE PUZZLE WITH
|
18
|
+
2 DISKS, THEIR CODE NAMES WOULD BE 13 AND 15. WITH 3 DISKS
|
19
|
+
THE CODE NAMES WOULD BE 11, 13 AND 15, ETC. THE NEEDLES
|
20
|
+
ARE NUMBERED FROM LEFT TO RIGHT, 1 TO 3. WE WILL
|
21
|
+
START WITH THE DISKS ON NEEDLE 1, AND ATTEMPT TO MOVE THEM
|
22
|
+
TO NEEDLE 3.
|
23
|
+
|
24
|
+
GOOD LUCK!
|
25
|
+
|
26
|
+
* * *
|
27
|
+
* * *
|
28
|
+
* * *
|
29
|
+
* * *
|
30
|
+
* * *
|
31
|
+
************* * *
|
32
|
+
*************** * *
|
33
|
+
WHICH DISK WOULD YOU LIKE TO MOVE? 0
|
34
|
+
ILLEGAL ENTRY... YOU MAY ONLY TYPE 3,5,7,9,11,13, OR 15.
|
35
|
+
? 13
|
36
|
+
PLACE DISK ON WHICH NEEDLE? 2
|
37
|
+
* * *
|
38
|
+
* * *
|
39
|
+
* * *
|
40
|
+
* * *
|
41
|
+
* * *
|
42
|
+
* * *
|
43
|
+
*************** ************* *
|
44
|
+
WHICH DISK WOULD YOU LIKE TO MOVE? 15
|
45
|
+
PLACE DISK ON WHICH NEEDLE? 3
|
46
|
+
* * *
|
47
|
+
* * *
|
48
|
+
* * *
|
49
|
+
* * *
|
50
|
+
* * *
|
51
|
+
* * *
|
52
|
+
* ************* ***************
|
53
|
+
WHICH DISK WOULD YOU LIKE TO MOVE? 13
|
54
|
+
PLACE DISK ON WHICH NEEDLE? 3
|
55
|
+
* * *
|
56
|
+
* * *
|
57
|
+
* * *
|
58
|
+
* * *
|
59
|
+
* * *
|
60
|
+
* * *************
|
61
|
+
* * ***************
|
62
|
+
|
63
|
+
CONGRATULATIONS!!
|
64
|
+
|
65
|
+
YOU HAVE PERFORMED THE TASK IN 3 MOVES.
|
66
|
+
|
67
|
+
TRY AGAIN (YES OR NO)? NO
|
68
|
+
|
69
|
+
THANKS FOR THE GAME!
|
70
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
1 PRINT TAB(33);"TRAIN"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT: PRINT: PRINT
|
4
|
+
4 PRINT "TIME - SPEED DISTANCE EXERCISE": PRINT
|
5
|
+
10 C=INT(25*RND(1))+40
|
6
|
+
15 D=INT(15*RND(1))+5
|
7
|
+
20 T=INT(19*RND(1))+20
|
8
|
+
25 PRINT " A CAR TRAVELING";C;"MPH CAN MAKE A CERTAIN TRIP IN"
|
9
|
+
30 PRINT D;"HOURS LESS THAN A TRAIN TRAVELING AT";T;"MPH."
|
10
|
+
35 PRINT "HOW LONG DOES THE TRIP TAKE BY CAR";
|
11
|
+
40 INPUT A
|
12
|
+
45 V=D*T/(C-T)
|
13
|
+
50 E=INT(ABS((V-A)*100/A)+.5)
|
14
|
+
55 IF E>5 THEN 70
|
15
|
+
60 PRINT "GOOD! ANSWER WITHIN";E;"PERCENT."
|
16
|
+
65 GOTO 80
|
17
|
+
70 PRINT "SORRY. YOU WERE OFF BY";E;"PERCENT."
|
18
|
+
80 PRINT "CORRECT ANSWER IS";V;"HOURS."
|
19
|
+
90 PRINT
|
20
|
+
95 PRINT "ANOTHER PROBLEM (YES OR NO)";
|
21
|
+
100 INPUT A$
|
22
|
+
105 PRINT
|
23
|
+
110 IF A$="YES" THEN 10
|
24
|
+
999 END
|
@@ -0,0 +1,23 @@
|
|
1
|
+
TRAIN
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
TIME - SPEED DISTANCE EXERCISE
|
7
|
+
|
8
|
+
A CAR TRAVELING 53 MPH CAN MAKE A CERTAIN TRIP IN
|
9
|
+
15 HOURS LESS THAN A TRAIN TRAVELING AT 31 MPH.
|
10
|
+
HOW LONG DOES THE TRIP TAKE BY CAR? 21
|
11
|
+
GOOD! ANSWER WITHIN 1 PERCENT.
|
12
|
+
CORRECT ANSWER IS 21.13636 HOURS.
|
13
|
+
|
14
|
+
ANOTHER PROBLEM (YES OR NO)? YES
|
15
|
+
|
16
|
+
A CAR TRAVELING 53 MPH CAN MAKE A CERTAIN TRIP IN
|
17
|
+
11 HOURS LESS THAN A TRAIN TRAVELING AT 32 MPH.
|
18
|
+
HOW LONG DOES THE TRIP TAKE BY CAR? 123
|
19
|
+
SORRY. YOU WERE OFF BY 86 PERCENT.
|
20
|
+
CORRECT ANSWER IS 16.7619 HOURS.
|
21
|
+
|
22
|
+
ANOTHER PROBLEM (YES OR NO)? NO
|
23
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
1 PRINT TAB(34);"TRAP"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT:PRINT:PRINT
|
4
|
+
10 G=6
|
5
|
+
20 N=100
|
6
|
+
30 REM-TRAP
|
7
|
+
40 REM-STEVE ULLMAN, 8-1-72
|
8
|
+
50 PRINT "INSTRUCTIONS";
|
9
|
+
60 INPUT Z$
|
10
|
+
70 IF LEFT$(Z$,1)<>"Y" THEN 180
|
11
|
+
80 PRINT "I AM THINKING OF A NUMBER BETWEEN 1 AND";N
|
12
|
+
90 PRINT "TRY TO GUESS MY NUMBER. ON EACH GUESS,"
|
13
|
+
100 PRINT "YOU ARE TO ENTER 2 NUMBERS, TRYING TO TRAP"
|
14
|
+
110 PRINT "MY NUMBER BETWEEN THE TWO NUMBERS. I WILL"
|
15
|
+
120 PRINT "TELL YOU IF YOU HAVE TRAPPED MY NUMBER, IF MY"
|
16
|
+
130 PRINT "NUMBER IS LARGER THAN YOUR TWO NUMBERS, OR IF"
|
17
|
+
140 PRINT "MY NUMBER IS SMALLER THAN YOUR TWO NUMBERS."
|
18
|
+
150 PRINT "IF YOU WANT TO GUESS ONE SINGLE NUMBER, TYPE"
|
19
|
+
160 PRINT "YOUR GUESS FOR BOTH YOUR TRAP NUMBERS."
|
20
|
+
170 PRINT "YOU GET";G;"GUESSES TO GET MY NUMBER."
|
21
|
+
180 X=INT(N*RND(1))+1
|
22
|
+
190 FOR Q=1 TO G
|
23
|
+
200 PRINT
|
24
|
+
210 PRINT "GUESS #";Q;
|
25
|
+
220 INPUT A,B
|
26
|
+
230 IF A=B AND X=A THEN 400
|
27
|
+
240 IF A <= B THEN 260
|
28
|
+
250 GOSUB 360
|
29
|
+
260 IF A <= X AND X <= B THEN 320
|
30
|
+
270 IF X<A THEN 300
|
31
|
+
280 PRINT "MY NUMBER IS LARGER THAN YOUR TRAP NUMBERS."
|
32
|
+
290 GOTO 330
|
33
|
+
300 PRINT "MY NUMBER IS SMALLER THAN YOUR TRAP NUMBERS."
|
34
|
+
310 GOTO 330
|
35
|
+
320 PRINT "YOU HAVE TRAPPED MY NUMBER."
|
36
|
+
330 NEXT Q
|
37
|
+
340 PRINT "SORRY, THAT'S";G;"GUESSES. THE NUMBER WAS";X
|
38
|
+
345 PRINT
|
39
|
+
350 GOTO 410
|
40
|
+
360 R=A
|
41
|
+
370 A=B
|
42
|
+
380 B=R
|
43
|
+
390 RETURN
|
44
|
+
400 PRINT "YOU GOT IT!!!"
|
45
|
+
410 PRINT
|
46
|
+
420 PRINT "TRY AGAIN."
|
47
|
+
430 PRINT
|
48
|
+
440 GOTO 180
|
49
|
+
450 END
|
@@ -0,0 +1,40 @@
|
|
1
|
+
TRAP
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
INSTRUCTIONS? YES
|
7
|
+
I AM THINKING OF A NUMBER BETWEEN 1 AND 100
|
8
|
+
TRY TO GUESS MY NUMBER. ON EACH GUESS,
|
9
|
+
YOU ARE TO ENTER 2 NUMBERS, TRYING TO TRAP
|
10
|
+
MY NUMBER BETWEEN THE TWO NUMBERS. I WILL
|
11
|
+
TELL YOU IF YOU HAVE TRAPPED MY NUMBER, IF MY
|
12
|
+
NUMBER IS LARGER THAN YOUR TWO NUMBERS, OR IF
|
13
|
+
MY NUMBER IS SMALLER THAN YOUR TWO NUMBERS.
|
14
|
+
IF YOU WANT TO GUESS ONE SINGLE NUMBER, TYPE
|
15
|
+
YOUR GUESS FOR BOTH YOUR TRAP NUMBERS.
|
16
|
+
YOU GET 6 GUESSES TO GET MY NUMBER.
|
17
|
+
|
18
|
+
GUESS # 1 ? 33,66
|
19
|
+
YOU HAVE TRAPPED MY NUMBER.
|
20
|
+
|
21
|
+
GUESS # 2 ? 41,58
|
22
|
+
YOU HAVE TRAPPED MY NUMBER.
|
23
|
+
|
24
|
+
GUESS # 3 ? 45,54
|
25
|
+
MY NUMBER IS LARGER THAN YOUR TRAP NUMBERS.
|
26
|
+
|
27
|
+
GUESS # 4 ? 55,57
|
28
|
+
YOU HAVE TRAPPED MY NUMBER.
|
29
|
+
|
30
|
+
GUESS # 5 ? 56,57
|
31
|
+
MY NUMBER IS SMALLER THAN YOUR TRAP NUMBERS.
|
32
|
+
|
33
|
+
GUESS # 6 ? 55,55
|
34
|
+
YOU GOT IT!!!
|
35
|
+
|
36
|
+
TRY AGAIN.
|
37
|
+
|
38
|
+
|
39
|
+
GUESS # 1 ?
|
40
|
+
Error on line 220: No more input
|
@@ -0,0 +1,68 @@
|
|
1
|
+
10 PRINT TAB(33);"WAR"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT: PRINT: PRINT
|
4
|
+
100 PRINT "THIS IS THE CARD GAME OF WAR. EACH CARD IS GIVEN BY SUIT-#"
|
5
|
+
110 PRINT "AS S-7 FOR SPADE 7. ";
|
6
|
+
120 PRINT "DO YOU WANT DIRECTIONS";
|
7
|
+
130 INPUT B$
|
8
|
+
140 IF B$="NO" THEN 210
|
9
|
+
150 IF B$="YES" THEN 180
|
10
|
+
160 PRINT "YES OR NO, PLEASE. ";
|
11
|
+
170 GOTO 120
|
12
|
+
180 PRINT "THE COMPUTER GIVES YOU AND IT A 'CARD'. THE HIGHER CARD"
|
13
|
+
190 PRINT "(NUMERICALLY) WINS. THE GAME ENDS WHEN YOU CHOOSE NOT TO"
|
14
|
+
200 PRINT "CONTINUE OR WHEN YOU HAVE FINISHED THE PACK."
|
15
|
+
210 PRINT
|
16
|
+
220 PRINT
|
17
|
+
230 DIM A$(52),L(54)
|
18
|
+
240 FOR I=1 TO 52
|
19
|
+
250 READ A$(I)
|
20
|
+
260 NEXT I
|
21
|
+
270 REM
|
22
|
+
280 FOR J=1 TO 52
|
23
|
+
290 LET L(J)=INT(52*RND(1))+1
|
24
|
+
295 IF J=1 THEN 350
|
25
|
+
300 FOR K=1 TO J-1
|
26
|
+
310 IF L(K)<>L(J) THEN 340
|
27
|
+
320 REM
|
28
|
+
330 GOTO 290
|
29
|
+
340 NEXT K
|
30
|
+
350 NEXT J
|
31
|
+
360 P=P+1
|
32
|
+
370 M1=L(P)
|
33
|
+
380 P=P+1
|
34
|
+
390 M2=L(P)
|
35
|
+
400 PRINT
|
36
|
+
420 PRINT "YOU: ";A$(M1),"COMPUTER: ";A$(M2)
|
37
|
+
430 N1=INT((M1-.5)/4)
|
38
|
+
440 N2=INT((M2-.5)/4)
|
39
|
+
450 IF N1>=N2 THEN 490
|
40
|
+
460 A1=A1+1
|
41
|
+
470 PRINT "THE COMPUTER WINS!!! YOU HAVE";B1;"AND THE COMPUTER HAS";A1
|
42
|
+
480 GOTO 540
|
43
|
+
490 IF N1=N2 THEN 530
|
44
|
+
500 B1=B1+1
|
45
|
+
510 PRINT "YOU WIN. YOU HAVE";B1;"AND THE COMPUTER HAS";A1
|
46
|
+
520 GOTO 540
|
47
|
+
530 PRINT "TIE. NO SCORE CHANGE."
|
48
|
+
540 IF L(P+1)=0 THEN 610
|
49
|
+
550 PRINT "DO YOU WANT TO CONTINUE";
|
50
|
+
560 INPUT V$
|
51
|
+
570 IF V$="YES" THEN 360
|
52
|
+
580 IF V$="NO" THEN 650
|
53
|
+
590 PRINT "YES OR NO, PLEASE. ";
|
54
|
+
600 GOTO 540
|
55
|
+
610 PRINT
|
56
|
+
620 PRINT
|
57
|
+
630 PRINT "WE HAVE RUN OUT OF CARDS. FINAL SCORE: YOU: ";B1;
|
58
|
+
640 PRINT " THE COMPUTER: ";A1:PRINT
|
59
|
+
650 PRINT "THANKS FOR PLAYING. IT WAS FUN."
|
60
|
+
655 PRINT
|
61
|
+
660 DATA "S-2","H-2","C-2","D-2","S-3","H-3","C-3","D-3"
|
62
|
+
670 DATA "S-4","H-4","C-4","D-4","S-5","H-5","C-5","D-5"
|
63
|
+
680 DATA "S-6","H-6","C-6","D-6","S-7","H-7","C-7","D-7"
|
64
|
+
690 DATA "S-8","H-8","C-8","D-8","S-9","H-9","C-9","D-9"
|
65
|
+
700 DATA "S-10","H-10","C-10","D-10","S-J","H-J","C-J","D-J"
|
66
|
+
710 DATA "S-Q","H-Q","C-Q","D-Q","S-K","H-K","C-K","D-K"
|
67
|
+
720 DATA "S-A","H-A","C-A","D-A"
|
68
|
+
999 END
|