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,78 @@
|
|
1
|
+
10 PRINT TAB(33);"DIGITS"
|
2
|
+
20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
30 PRINT:PRINT:PRINT
|
4
|
+
210 PRINT "THIS IS A GAME OF GUESSING."
|
5
|
+
220 PRINT "FOR INSTRUCTIONS, TYPE '1', ELSE TYPE '0'";
|
6
|
+
230 INPUT E
|
7
|
+
240 IF E=0 THEN 360
|
8
|
+
250 PRINT
|
9
|
+
260 PRINT "PLEASE TAKE A PIECE OF PAPER AND WRITE DOWN"
|
10
|
+
270 PRINT "THE DIGITS '0', '1', OR '2' THIRTY TIMES AT RANDOM."
|
11
|
+
280 PRINT "ARRANGE THEM IN THREE LINES OF TEN DIGITS EACH."
|
12
|
+
290 PRINT "I WILL ASK FOR THEN TEN AT A TIME."
|
13
|
+
300 PRINT "I WILL ALWAYS GUESS THEM FIRST AND THEN LOOK AT YOUR"
|
14
|
+
310 PRINT "NEXT NUMBER TO SEE IF I WAS RIGHT. BY PURE LUCK,"
|
15
|
+
320 PRINT "I OUGHT TO BE RIGHT TEN TIMES. BUT I HOPE TO DO BETTER"
|
16
|
+
330 PRINT "THAN THAT *****"
|
17
|
+
340 PRINT:PRINT
|
18
|
+
360 READ A,B,C
|
19
|
+
370 DATA 0,1,3
|
20
|
+
380 DIM M(26,2),K(2,2),L(8,2)
|
21
|
+
400 FOR I=0 TO 26: FOR J=0 TO 2: M(I,J)=1: NEXT J: NEXT I
|
22
|
+
410 FOR I=0 TO 2: FOR J=0 TO 2: K(I,J)=9: NEXT J: NEXT I
|
23
|
+
420 FOR I=0 TO 8: FOR J=0 TO 2: L(I,J)=3: NEXT J: NEXT I
|
24
|
+
450 L(0,0)=2: L(4,1)=2: L(8,2)=2
|
25
|
+
480 Z=26: Z1=8: Z2=2
|
26
|
+
510 X=0
|
27
|
+
520 FOR T=1 TO 3
|
28
|
+
530 PRINT
|
29
|
+
540 PRINT "TEN NUMBERS, PLEASE";
|
30
|
+
550 INPUT N(1),N(2),N(3),N(4),N(5),N(6),N(7),N(8),N(9),N(10)
|
31
|
+
560 FOR I=1 TO 10
|
32
|
+
570 W=N(I)-1
|
33
|
+
580 IF W=SGN(W) THEN 620
|
34
|
+
590 PRINT "ONLY USE THE DIGITS '0', '1', OR '2'."
|
35
|
+
600 PRINT "LET'S TRY AGAIN.":GOTO 530
|
36
|
+
620 NEXT I
|
37
|
+
630 PRINT: PRINT "MY GUESS","YOUR NO.","RESULT","NO. RIGHT":PRINT
|
38
|
+
660 FOR U=1 TO 10
|
39
|
+
670 N=N(U): S=0
|
40
|
+
690 FOR J=0 TO 2
|
41
|
+
700 S1=A*K(Z2,J)+B*L(Z1,J)+C*M(Z,J)
|
42
|
+
710 IF S>S1 THEN 760
|
43
|
+
720 IF S<S1 THEN 740
|
44
|
+
730 IF RND(1)<.5 THEN 760
|
45
|
+
740 S=S1: G=J
|
46
|
+
760 NEXT J
|
47
|
+
770 PRINT " ";G," ";N(U),
|
48
|
+
780 IF G=N(U) THEN 810
|
49
|
+
790 PRINT " WRONG",X
|
50
|
+
800 GOTO 880
|
51
|
+
810 X=X+1
|
52
|
+
820 PRINT " RIGHT",X
|
53
|
+
830 M(Z,N)=M(Z,N)+1
|
54
|
+
840 L(Z1,N)=L(Z1,N)+1
|
55
|
+
850 K(Z2,N)=K(Z2,N)+1
|
56
|
+
860 Z=Z-INT(Z/9)*9
|
57
|
+
870 Z=3*Z+N(U)
|
58
|
+
880 Z1=Z-INT(Z/9)*9
|
59
|
+
890 Z2=N(U)
|
60
|
+
900 NEXT U
|
61
|
+
910 NEXT T
|
62
|
+
920 PRINT
|
63
|
+
930 IF X>10 THEN 980
|
64
|
+
940 IF X<10 THEN 1010
|
65
|
+
950 PRINT "I GUESSED EXACTLY 1/3 OF YOUR NUMBERS."
|
66
|
+
960 PRINT "IT'S A TIE GAME."
|
67
|
+
970 GOTO 1030
|
68
|
+
980 PRINT "I GUESSED MORE THAN 1/3 OF YOUR NUMBERS."
|
69
|
+
990 PRINT "I WIN.": FOR Q=1 TO 10: PRINT CHR$(7);: NEXT Q
|
70
|
+
1000 GOTO 1030
|
71
|
+
1010 PRINT "I GUESSED LESS THAN 1/3 OF YOUR NUMBERS."
|
72
|
+
1020 PRINT "YOU BEAT ME. CONGRATULATIONS *****"
|
73
|
+
1030 PRINT
|
74
|
+
1040 PRINT "DO YOU WANT TO TRY AGAIN (1 FOR YES, 0 FOR NO)";
|
75
|
+
1060 INPUT X
|
76
|
+
1070 IF X=1 THEN 400
|
77
|
+
1080 PRINT:PRINT "THANKS FOR THE GAME."
|
78
|
+
1090 END
|
@@ -0,0 +1,70 @@
|
|
1
|
+
DIGITS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
THIS IS A GAME OF GUESSING.
|
7
|
+
FOR INSTRUCTIONS, TYPE '1', ELSE TYPE '0'? 1
|
8
|
+
|
9
|
+
PLEASE TAKE A PIECE OF PAPER AND WRITE DOWN
|
10
|
+
THE DIGITS '0', '1', OR '2' THIRTY TIMES AT RANDOM.
|
11
|
+
ARRANGE THEM IN THREE LINES OF TEN DIGITS EACH.
|
12
|
+
I WILL ASK FOR THEN TEN AT A TIME.
|
13
|
+
I WILL ALWAYS GUESS THEM FIRST AND THEN LOOK AT YOUR
|
14
|
+
NEXT NUMBER TO SEE IF I WAS RIGHT. BY PURE LUCK,
|
15
|
+
I OUGHT TO BE RIGHT TEN TIMES. BUT I HOPE TO DO BETTER
|
16
|
+
THAN THAT *****
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
TEN NUMBERS, PLEASE? 0,1,1,2,1,0,2,1,2,0
|
21
|
+
|
22
|
+
MY GUESS YOUR NO. RESULT NO. RIGHT
|
23
|
+
|
24
|
+
1 0 WRONG 0
|
25
|
+
1 1 RIGHT 1
|
26
|
+
2 1 WRONG 1
|
27
|
+
2 2 RIGHT 2
|
28
|
+
2 1 WRONG 2
|
29
|
+
1 0 WRONG 2
|
30
|
+
2 2 RIGHT 3
|
31
|
+
1 1 RIGHT 4
|
32
|
+
2 2 RIGHT 5
|
33
|
+
2 0 WRONG 5
|
34
|
+
|
35
|
+
TEN NUMBERS, PLEASE? 1,0,2,0,2,0,1,0,2,0
|
36
|
+
|
37
|
+
MY GUESS YOUR NO. RESULT NO. RIGHT
|
38
|
+
|
39
|
+
2 1 WRONG 5
|
40
|
+
2 0 WRONG 5
|
41
|
+
2 2 RIGHT 6
|
42
|
+
1 0 WRONG 6
|
43
|
+
1 2 WRONG 6
|
44
|
+
1 0 WRONG 6
|
45
|
+
1 1 RIGHT 7
|
46
|
+
2 0 WRONG 7
|
47
|
+
2 2 RIGHT 8
|
48
|
+
2 0 WRONG 8
|
49
|
+
|
50
|
+
TEN NUMBERS, PLEASE? 2,2,2,1,1,1,0,1,1,2
|
51
|
+
|
52
|
+
MY GUESS YOUR NO. RESULT NO. RIGHT
|
53
|
+
|
54
|
+
2 2 RIGHT 9
|
55
|
+
1 2 WRONG 9
|
56
|
+
1 2 WRONG 9
|
57
|
+
1 1 RIGHT 10
|
58
|
+
2 1 WRONG 10
|
59
|
+
2 1 WRONG 10
|
60
|
+
2 0 WRONG 10
|
61
|
+
2 1 WRONG 10
|
62
|
+
2 1 WRONG 10
|
63
|
+
2 2 RIGHT 11
|
64
|
+
|
65
|
+
I GUESSED MORE THAN 1/3 OF YOUR NUMBERS.
|
66
|
+
I WIN.
|
67
|
+
|
68
|
+
DO YOU WANT TO TRY AGAIN (1 FOR YES, 0 FOR NO)? 0
|
69
|
+
|
70
|
+
THANKS FOR THE GAME.
|
@@ -0,0 +1,128 @@
|
|
1
|
+
1 PRINT TAB(31);"EVEN WINS"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT:PRINT
|
4
|
+
4 Y1=0
|
5
|
+
10 M1=0
|
6
|
+
20 DIM M(20),Y(20)
|
7
|
+
30 PRINT " THIS IS A TWO PERSON GAME CALLED 'EVEN WINS.'"
|
8
|
+
40 PRINT "TO PLAY THE GAME, THE PLAYERS NEED 27 MARBLES OR"
|
9
|
+
50 PRINT "OTHER OBJECTS ON A TABLE."
|
10
|
+
60 PRINT
|
11
|
+
70 PRINT
|
12
|
+
80 PRINT " THE 2 PLAYERS ALTERNATE TURNS, WITH EACH PLAYER"
|
13
|
+
90 PRINT "REMOVING FROM 1 TO 4 MARBLES ON EACH MOVE. THE GAME"
|
14
|
+
100 PRINT "ENDS WHEN THERE ARE NO MARBLES LEFT, AND THE WINNER"
|
15
|
+
110 PRINT "IS THE ONE WITH AN EVEN NUMBER OF MARBLES."
|
16
|
+
120 PRINT
|
17
|
+
130 PRINT
|
18
|
+
140 PRINT " THE ONLY RULES ARE THAT (1) YOU MUST ALTERNATE TURNS,"
|
19
|
+
150 PRINT "(2) YOU MUST TAKE BETWEEN 1 AND 4 MARBLES EACH TURN,"
|
20
|
+
160 PRINT "AND (3) YOU CANNOT SKIP A TURN."
|
21
|
+
170 PRINT
|
22
|
+
180 PRINT
|
23
|
+
190 PRINT
|
24
|
+
200 PRINT " TYPE A '1' IF YOU WANT TO GO FIRST, AND TYPE"
|
25
|
+
210 PRINT "A '0' IF YOU WANT ME TO GO FIRST."
|
26
|
+
220 INPUT C
|
27
|
+
225 PRINT
|
28
|
+
230 IF C=0 THEN 250
|
29
|
+
240 GOTO 1060
|
30
|
+
250 T=27
|
31
|
+
260 M=2
|
32
|
+
270 PRINT:PRINT "TOTAL=";T:PRINT
|
33
|
+
280 M1=M1+M
|
34
|
+
290 T=T-M
|
35
|
+
300 PRINT "I PICK UP";M;"MARBLES."
|
36
|
+
310 IF T=0 THEN 880
|
37
|
+
320 PRINT:PRINT "TOTAL=";T
|
38
|
+
330 PRINT
|
39
|
+
340 PRINT " AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS";M1
|
40
|
+
350 INPUT Y
|
41
|
+
360 PRINT
|
42
|
+
370 IF Y<1 THEN 1160
|
43
|
+
380 IF Y>4 THEN 1160
|
44
|
+
390 IF Y<=T THEN 430
|
45
|
+
400 PRINT " YOU HAVE TRIED TO TAKE MORE MARBLES THAN THERE ARE"
|
46
|
+
410 PRINT "LEFT. TRY AGAIN."
|
47
|
+
420 GOTO 350
|
48
|
+
430 Y1=Y1+Y
|
49
|
+
440 T=T-Y
|
50
|
+
450 IF T=0 THEN 880
|
51
|
+
460 PRINT "TOTAL=";T
|
52
|
+
470 PRINT
|
53
|
+
480 PRINT "YOUR TOTAL IS";Y1
|
54
|
+
490 IF T<.5 THEN 880
|
55
|
+
500 R=T-6*INT(T/6)
|
56
|
+
510 IF INT(Y1/2)=Y1/2 THEN 700
|
57
|
+
520 IF T<4.2 THEN 580
|
58
|
+
530 IF R>3.4 THEN 620
|
59
|
+
540 M=R+1
|
60
|
+
550 M1=M1+M
|
61
|
+
560 T=T-M
|
62
|
+
570 GOTO 300
|
63
|
+
580 M=T
|
64
|
+
590 T=T-M
|
65
|
+
600 GOTO 830
|
66
|
+
610 REM 250 IS WHERE I WIN.
|
67
|
+
620 IF R<4.7 THEN 660
|
68
|
+
630 IF R>3.5 THEN 660
|
69
|
+
640 M=1
|
70
|
+
650 GOTO 670
|
71
|
+
660 M=4
|
72
|
+
670 T=T-M
|
73
|
+
680 M1=M1+M
|
74
|
+
690 GOTO 300
|
75
|
+
700 REM I AM READY TO ENCODE THE STRAT FOR WHEN OPP TOT IS EVEN
|
76
|
+
710 IF R<1.5 THEN 1020
|
77
|
+
720 IF R>5.3 THEN 1020
|
78
|
+
730 M=R-1
|
79
|
+
740 M1=M1+M
|
80
|
+
750 T=T-M
|
81
|
+
760 IF T<.2 THEN 790
|
82
|
+
770 REM IS # ZERO HERE
|
83
|
+
780 GOTO 300
|
84
|
+
790 REM IS = ZERO HERE
|
85
|
+
800 PRINT "I PICK UP";M;"MARBLES."
|
86
|
+
810 PRINT
|
87
|
+
820 GOTO 880
|
88
|
+
830 REM THIS IS WHERE I WIN
|
89
|
+
840 PRINT "I PICK UP";M;"MARBLES."
|
90
|
+
850 PRINT
|
91
|
+
860 PRINT "TOTAL = 0"
|
92
|
+
870 M1=M1+M
|
93
|
+
880 PRINT "THAT IS ALL OF THE MARBLES."
|
94
|
+
890 PRINT
|
95
|
+
900 PRINT " MY TOTAL IS";M1;", YOUR TOTAL IS";Y1
|
96
|
+
910 PRINT
|
97
|
+
920 IF INT(M1/2)=M1/2 THEN 950
|
98
|
+
930 PRINT " YOU WON. DO YOU WANT TO PLAY"
|
99
|
+
940 GOTO 960
|
100
|
+
950 PRINT " I WON. DO YOU WANT TO PLAY"
|
101
|
+
960 PRINT "AGAIN? TYPE 1 FOR YES AND 0 FOR NO."
|
102
|
+
970 INPUT A1
|
103
|
+
980 IF A1=0 THEN 1030
|
104
|
+
990 M1=0
|
105
|
+
1000 Y1=0
|
106
|
+
1010 GOTO 200
|
107
|
+
1020 GOTO 640
|
108
|
+
1030 PRINT
|
109
|
+
1040 PRINT "OK. SEE YOU LATER."
|
110
|
+
1050 GOTO 1230
|
111
|
+
1060 T=27
|
112
|
+
1070 PRINT
|
113
|
+
1080 PRINT
|
114
|
+
1090 PRINT
|
115
|
+
1100 PRINT "TOTAL=";T
|
116
|
+
1110 PRINT
|
117
|
+
1120 PRINT
|
118
|
+
1130 PRINT "WHAT IS YOUR FIRST MOVE";
|
119
|
+
1140 INPUT Y
|
120
|
+
1150 GOTO 360
|
121
|
+
1160 PRINT
|
122
|
+
1170 PRINT "THE NUMBER OF MARBLES YOU TAKE MUST BE A POSITIVE"
|
123
|
+
1180 PRINT "INTEGER BETWEEN 1 AND 4."
|
124
|
+
1190 PRINT
|
125
|
+
1200 PRINT " WHAT IS YOUR NEXT MOVE?"
|
126
|
+
1210 PRINT
|
127
|
+
1220 GOTO 350
|
128
|
+
1230 END
|
@@ -0,0 +1,116 @@
|
|
1
|
+
EVEN WINS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
THIS IS A TWO PERSON GAME CALLED 'EVEN WINS.'
|
6
|
+
TO PLAY THE GAME, THE PLAYERS NEED 27 MARBLES OR
|
7
|
+
OTHER OBJECTS ON A TABLE.
|
8
|
+
|
9
|
+
|
10
|
+
THE 2 PLAYERS ALTERNATE TURNS, WITH EACH PLAYER
|
11
|
+
REMOVING FROM 1 TO 4 MARBLES ON EACH MOVE. THE GAME
|
12
|
+
ENDS WHEN THERE ARE NO MARBLES LEFT, AND THE WINNER
|
13
|
+
IS THE ONE WITH AN EVEN NUMBER OF MARBLES.
|
14
|
+
|
15
|
+
|
16
|
+
THE ONLY RULES ARE THAT (1) YOU MUST ALTERNATE TURNS,
|
17
|
+
(2) YOU MUST TAKE BETWEEN 1 AND 4 MARBLES EACH TURN,
|
18
|
+
AND (3) YOU CANNOT SKIP A TURN.
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
TYPE A '1' IF YOU WANT TO GO FIRST, AND TYPE
|
23
|
+
A '0' IF YOU WANT ME TO GO FIRST.
|
24
|
+
? 1
|
25
|
+
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
TOTAL= 27
|
30
|
+
|
31
|
+
|
32
|
+
WHAT IS YOUR FIRST MOVE? 3
|
33
|
+
|
34
|
+
TOTAL= 24
|
35
|
+
|
36
|
+
YOUR TOTAL IS 3
|
37
|
+
I PICK UP 1 MARBLES.
|
38
|
+
|
39
|
+
TOTAL= 23
|
40
|
+
|
41
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 1
|
42
|
+
? 3
|
43
|
+
|
44
|
+
TOTAL= 20
|
45
|
+
|
46
|
+
YOUR TOTAL IS 6
|
47
|
+
I PICK UP 1 MARBLES.
|
48
|
+
|
49
|
+
TOTAL= 19
|
50
|
+
|
51
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 2
|
52
|
+
? 1
|
53
|
+
|
54
|
+
TOTAL= 18
|
55
|
+
|
56
|
+
YOUR TOTAL IS 7
|
57
|
+
I PICK UP 1 MARBLES.
|
58
|
+
|
59
|
+
TOTAL= 17
|
60
|
+
|
61
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 3
|
62
|
+
? 1
|
63
|
+
|
64
|
+
TOTAL= 16
|
65
|
+
|
66
|
+
YOUR TOTAL IS 8
|
67
|
+
I PICK UP 3 MARBLES.
|
68
|
+
|
69
|
+
TOTAL= 13
|
70
|
+
|
71
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 6
|
72
|
+
? 2
|
73
|
+
|
74
|
+
TOTAL= 11
|
75
|
+
|
76
|
+
YOUR TOTAL IS 10
|
77
|
+
I PICK UP 4 MARBLES.
|
78
|
+
|
79
|
+
TOTAL= 7
|
80
|
+
|
81
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 10
|
82
|
+
? 4
|
83
|
+
|
84
|
+
TOTAL= 3
|
85
|
+
|
86
|
+
YOUR TOTAL IS 14
|
87
|
+
I PICK UP 2 MARBLES.
|
88
|
+
|
89
|
+
TOTAL= 1
|
90
|
+
|
91
|
+
AND WHAT IS YOUR NEXT MOVE, MY TOTAL IS 12
|
92
|
+
? 4
|
93
|
+
|
94
|
+
YOU HAVE TRIED TO TAKE MORE MARBLES THAN THERE ARE
|
95
|
+
LEFT. TRY AGAIN.
|
96
|
+
? 3
|
97
|
+
|
98
|
+
YOU HAVE TRIED TO TAKE MORE MARBLES THAN THERE ARE
|
99
|
+
LEFT. TRY AGAIN.
|
100
|
+
? 2
|
101
|
+
|
102
|
+
YOU HAVE TRIED TO TAKE MORE MARBLES THAN THERE ARE
|
103
|
+
LEFT. TRY AGAIN.
|
104
|
+
? 1
|
105
|
+
|
106
|
+
THAT IS ALL OF THE MARBLES.
|
107
|
+
|
108
|
+
MY TOTAL IS 12 , YOUR TOTAL IS 15
|
109
|
+
|
110
|
+
I WON. DO YOU WANT TO PLAY
|
111
|
+
AGAIN? TYPE 1 FOR YES AND 0 FOR NO.
|
112
|
+
? NO
|
113
|
+
Not numeric: "NO", try again
|
114
|
+
? 0
|
115
|
+
|
116
|
+
OK. SEE YOU LATER.
|
@@ -0,0 +1,70 @@
|
|
1
|
+
1 PRINT TAB(28);"GAME OF EVEN WINS"
|
2
|
+
2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
3 PRINT:PRINT
|
4
|
+
4 INPUT "DO YOU WANT INSTRUCTIONS (YES OR NO)";A$:PRINT
|
5
|
+
5 IF A$="NO" THEN 20
|
6
|
+
6 PRINT "THE GAME IS PLAYED AS FOLLOWS:":PRINT
|
7
|
+
7 PRINT "AT THE BEGINNING OF THE GAME, A RANDOM NUMBER OF CHIPS ARE"
|
8
|
+
8 PRINT "PLACED ON THE BOARD. THE NUMBER OF CHIPS ALWAYS STARTS"
|
9
|
+
9 PRINT "AS AN ODD NUMBER. ON EACH TURN, A PLAYER MUST TAKE ONE,"
|
10
|
+
10 PRINT "TWO, THREE, OR FOUR CHIPS. THE WINNER IS THE PLAYER WHO"
|
11
|
+
11 PRINT "FINISHES WITH A TOTAL NUMBER OF CHIPS THAT IS EVEN."
|
12
|
+
12 PRINT "THE COMPUTER STARTS OUT KNOWING ONLY THE RULES OF THE"
|
13
|
+
13 PRINT "GAME. IT GRADUALLY LEARNS TO PLAY WELL. IT SHOULD BE"
|
14
|
+
14 PRINT "DIFFICULT TO BEAT THE COMPUTER AFTER TWENTY GAMES IN A ROW."
|
15
|
+
15 PRINT "TRY IT!!!!": PRINT
|
16
|
+
16 PRINT "TO QUIT AT ANY TIME, TYPE A '0' AS YOUR MOVE.": PRINT
|
17
|
+
20 DIM R(1,5)
|
18
|
+
25 L=0: B=0
|
19
|
+
30 FOR I=0 TO 5
|
20
|
+
40 R(1,I)=4
|
21
|
+
50 R(0,I)=4
|
22
|
+
60 NEXT I
|
23
|
+
70 A=0: B=0
|
24
|
+
90 P=INT((13*RND(1)+9)/2)*2+1
|
25
|
+
100 IF P=1 THEN 530
|
26
|
+
110 PRINT "THERE ARE";P;"CHIPS ON THE BOARD."
|
27
|
+
120 E1=E
|
28
|
+
130 L1=L
|
29
|
+
140 E=(A/2-INT(A/2))*2
|
30
|
+
150 L=INT((P/6-INT(P/6))*6+.5)
|
31
|
+
160 IF R(E,L)>=P THEN 320
|
32
|
+
170 M=R(E,L)
|
33
|
+
180 IF M<=0 THEN 370
|
34
|
+
190 P=P-M
|
35
|
+
200 IF M=1 THEN 510
|
36
|
+
210 PRINT "COMPUTER TAKES";M;"CHIPS LEAVING";P;"... YOUR MOVE";
|
37
|
+
220 B=B+M
|
38
|
+
230 INPUT M
|
39
|
+
240 M=INT(M)
|
40
|
+
250 IF M<1 THEN 450
|
41
|
+
260 IF M>4 THEN 460
|
42
|
+
270 IF M>P THEN 460
|
43
|
+
280 IF M=P THEN 360
|
44
|
+
290 P=P-M
|
45
|
+
300 A=A+M
|
46
|
+
310 GOTO 100
|
47
|
+
320 IF P=1 THEN 550
|
48
|
+
330 PRINT "COMPUTER TAKES";P;"CHIPS."
|
49
|
+
340 R(E,L)=P
|
50
|
+
350 B=B+P
|
51
|
+
360 IF B/2=INT(B/2) THEN 420
|
52
|
+
370 PRINT "GAME OVER ... YOU WIN!!!": PRINT
|
53
|
+
390 IF R(E,L)=1 THEN 480
|
54
|
+
400 R(E,L)=R(E,L)-1
|
55
|
+
410 GOTO 70
|
56
|
+
420 PRINT "GAME OVER ... I WIN!!!": PRINT
|
57
|
+
430 GOTO 70
|
58
|
+
450 IF M=0 THEN 570
|
59
|
+
460 PRINT M;"IS AN ILLEGAL MOVE ... YOUR MOVE";
|
60
|
+
470 GOTO 230
|
61
|
+
480 IF R(E1,L1)=1 THEN 70
|
62
|
+
490 R(E1,L1)=R(E1,L1)-1
|
63
|
+
500 GOTO 70
|
64
|
+
510 PRINT "COMPUTER TAKES 1 CHIP LEAVING";P;"... YOUR MOVE";
|
65
|
+
520 GOTO 220
|
66
|
+
530 PRINT "THERE IS 1 CHIP ON THE BOARD."
|
67
|
+
540 GOTO 120
|
68
|
+
550 PRINT "COMPUTER TAKES 1 CHIP."
|
69
|
+
560 GOTO 340
|
70
|
+
570 END
|
@@ -0,0 +1,56 @@
|
|
1
|
+
GAME OF EVEN WINS
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
|
5
|
+
DO YOU WANT INSTRUCTIONS (YES OR NO)? YES
|
6
|
+
|
7
|
+
THE GAME IS PLAYED AS FOLLOWS:
|
8
|
+
|
9
|
+
AT THE BEGINNING OF THE GAME, A RANDOM NUMBER OF CHIPS ARE
|
10
|
+
PLACED ON THE BOARD. THE NUMBER OF CHIPS ALWAYS STARTS
|
11
|
+
AS AN ODD NUMBER. ON EACH TURN, A PLAYER MUST TAKE ONE,
|
12
|
+
TWO, THREE, OR FOUR CHIPS. THE WINNER IS THE PLAYER WHO
|
13
|
+
FINISHES WITH A TOTAL NUMBER OF CHIPS THAT IS EVEN.
|
14
|
+
THE COMPUTER STARTS OUT KNOWING ONLY THE RULES OF THE
|
15
|
+
GAME. IT GRADUALLY LEARNS TO PLAY WELL. IT SHOULD BE
|
16
|
+
DIFFICULT TO BEAT THE COMPUTER AFTER TWENTY GAMES IN A ROW.
|
17
|
+
TRY IT!!!!
|
18
|
+
|
19
|
+
TO QUIT AT ANY TIME, TYPE A '0' AS YOUR MOVE.
|
20
|
+
|
21
|
+
THERE ARE 17 CHIPS ON THE BOARD.
|
22
|
+
COMPUTER TAKES 4 CHIPS LEAVING 13 ... YOUR MOVE? 4
|
23
|
+
THERE ARE 9 CHIPS ON THE BOARD.
|
24
|
+
COMPUTER TAKES 4 CHIPS LEAVING 5 ... YOUR MOVE? 4
|
25
|
+
THERE IS 1 CHIP ON THE BOARD.
|
26
|
+
COMPUTER TAKES 1 CHIP.
|
27
|
+
GAME OVER ... YOU WIN!!!
|
28
|
+
|
29
|
+
THERE ARE 19 CHIPS ON THE BOARD.
|
30
|
+
COMPUTER TAKES 1 CHIP LEAVING 18 ... YOUR MOVE? 4
|
31
|
+
THERE ARE 14 CHIPS ON THE BOARD.
|
32
|
+
COMPUTER TAKES 4 CHIPS LEAVING 10 ... YOUR MOVE? 4
|
33
|
+
THERE ARE 6 CHIPS ON THE BOARD.
|
34
|
+
COMPUTER TAKES 4 CHIPS LEAVING 2 ... YOUR MOVE? 4
|
35
|
+
4 IS AN ILLEGAL MOVE ... YOUR MOVE? 3
|
36
|
+
3 IS AN ILLEGAL MOVE ... YOUR MOVE? 2
|
37
|
+
GAME OVER ... YOU WIN!!!
|
38
|
+
|
39
|
+
THERE ARE 17 CHIPS ON THE BOARD.
|
40
|
+
COMPUTER TAKES 4 CHIPS LEAVING 13 ... YOUR MOVE? 4
|
41
|
+
THERE ARE 9 CHIPS ON THE BOARD.
|
42
|
+
COMPUTER TAKES 3 CHIPS LEAVING 6 ... YOUR MOVE? 4
|
43
|
+
THERE ARE 2 CHIPS ON THE BOARD.
|
44
|
+
COMPUTER TAKES 2 CHIPS.
|
45
|
+
GAME OVER ... YOU WIN!!!
|
46
|
+
|
47
|
+
THERE ARE 17 CHIPS ON THE BOARD.
|
48
|
+
COMPUTER TAKES 4 CHIPS LEAVING 13 ... YOUR MOVE? 4
|
49
|
+
THERE ARE 9 CHIPS ON THE BOARD.
|
50
|
+
COMPUTER TAKES 3 CHIPS LEAVING 6 ... YOUR MOVE? 4
|
51
|
+
THERE ARE 2 CHIPS ON THE BOARD.
|
52
|
+
COMPUTER TAKES 1 CHIP LEAVING 1 ... YOUR MOVE? 1
|
53
|
+
GAME OVER ... I WIN!!!
|
54
|
+
|
55
|
+
THERE ARE 15 CHIPS ON THE BOARD.
|
56
|
+
COMPUTER TAKES 3 CHIPS LEAVING 12 ... YOUR MOVE? 0
|
@@ -0,0 +1,79 @@
|
|
1
|
+
2 PRINT TAB(32);"FLIPFLOP"
|
2
|
+
4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
|
3
|
+
6 PRINT
|
4
|
+
10 REM *** CREATED BY MICHAEL CASS
|
5
|
+
15 DIM A$(20)
|
6
|
+
20 PRINT "THE OBJECT OF THIS PUZZLE IS TO CHANGE THIS:"
|
7
|
+
30 PRINT
|
8
|
+
40 PRINT "X X X X X X X X X X"
|
9
|
+
50 PRINT
|
10
|
+
60 PRINT "TO THIS:"
|
11
|
+
70 PRINT
|
12
|
+
80 PRINT "O O O O O O O O O O"
|
13
|
+
90 PRINT
|
14
|
+
100 PRINT "BY TYPING THE NUMBER CORRESPONDING TO THE POSITION OF THE"
|
15
|
+
110 PRINT "LETTER ON SOME NUMBERS, ONE POSITION WILL CHANGE, ON"
|
16
|
+
120 PRINT "OTHERS, TWO WILL CHANGE. TO RESET LINE TO ALL X'S, TYPE 0"
|
17
|
+
130 PRINT "(ZERO) AND TO START OVER IN THE MIDDLE OF A GAME, TYPE "
|
18
|
+
140 PRINT "11 (ELEVEN)."
|
19
|
+
170 PRINT
|
20
|
+
180 REM
|
21
|
+
190 Q=RND(1)
|
22
|
+
200 PRINT "HERE IS THE STARTING LINE OF X'S."
|
23
|
+
210 PRINT
|
24
|
+
220 C=0
|
25
|
+
230 PRINT "1 2 3 4 5 6 7 8 9 10"
|
26
|
+
240 PRINT "X X X X X X X X X X"
|
27
|
+
250 PRINT
|
28
|
+
260 REM
|
29
|
+
270 FOR X=1 TO 10
|
30
|
+
280 A$(X)="X"
|
31
|
+
290 NEXT X
|
32
|
+
300 GOTO 320
|
33
|
+
310 PRINT "ILLEGAL ENTRY--TRY AGAIN."
|
34
|
+
320 PRINT "INPUT THE NUMBER";
|
35
|
+
330 INPUT N
|
36
|
+
340 IF N<>INT(N) THEN 310
|
37
|
+
350 IF N=11 THEN 180
|
38
|
+
360 IF N>11 THEN 310
|
39
|
+
370 IF N=0 THEN 230
|
40
|
+
380 IF M=N THEN 510
|
41
|
+
390 M=N
|
42
|
+
400 IF A$(N)="O" THEN 480
|
43
|
+
410 A$(N)="O"
|
44
|
+
420 R=TAN(Q+N/Q-N)-SIN(Q/N)+336*SIN(8*N)
|
45
|
+
430 N=R-INT(R)
|
46
|
+
440 N=INT(10*N)
|
47
|
+
450 IF A$(N)="O" THEN 480
|
48
|
+
460 A$(N)="O"
|
49
|
+
470 GOTO 610
|
50
|
+
480 A$(N)="X"
|
51
|
+
490 IF M=N THEN 420
|
52
|
+
500 GOTO 610
|
53
|
+
510 IF A$(N)="O" THEN 590
|
54
|
+
520 A$(N)="O"
|
55
|
+
530 R=.592*(1/TAN(Q/N+Q))/SIN(N*2+Q)-COS(N)
|
56
|
+
540 N=R-INT(R)
|
57
|
+
550 N=INT(10*N)
|
58
|
+
560 IF A$(N)="O" THEN 590
|
59
|
+
570 A$(N)="O"
|
60
|
+
580 GOTO 610
|
61
|
+
590 A$(N)="X"
|
62
|
+
600 IF M=N THEN 530
|
63
|
+
610 PRINT "1 2 3 4 5 6 7 8 9 10"
|
64
|
+
620 FOR Z=1 TO 10: PRINT A$(Z);" ";: NEXT Z
|
65
|
+
630 C=C+1
|
66
|
+
640 PRINT
|
67
|
+
650 FOR Z=1 TO 10
|
68
|
+
660 IF A$(Z)<>"O" THEN 320
|
69
|
+
670 NEXT Z
|
70
|
+
680 IF C>12 THEN 710
|
71
|
+
690 PRINT "VERY GOOD. YOU GUESSED IT IN ONLY";C;"GUESSES."
|
72
|
+
700 GOTO 720
|
73
|
+
710 PRINT "TRY HARDER NEXT TIME. IT TOOK YOU";C;"GUESSES."
|
74
|
+
720 PRINT "DO YOU WANT TO TRY ANOTHER PUZZLE";
|
75
|
+
730 INPUT X$
|
76
|
+
740 IF LEFT$(X$,1)="N" THEN 780
|
77
|
+
760 PRINT
|
78
|
+
770 GOTO 180
|
79
|
+
780 END
|
@@ -0,0 +1,45 @@
|
|
1
|
+
FLIPFLOP
|
2
|
+
CREATIVE COMPUTING MORRISTOWN, NEW JERSEY
|
3
|
+
|
4
|
+
THE OBJECT OF THIS PUZZLE IS TO CHANGE THIS:
|
5
|
+
|
6
|
+
X X X X X X X X X X
|
7
|
+
|
8
|
+
TO THIS:
|
9
|
+
|
10
|
+
O O O O O O O O O O
|
11
|
+
|
12
|
+
BY TYPING THE NUMBER CORRESPONDING TO THE POSITION OF THE
|
13
|
+
LETTER ON SOME NUMBERS, ONE POSITION WILL CHANGE, ON
|
14
|
+
OTHERS, TWO WILL CHANGE. TO RESET LINE TO ALL X'S, TYPE 0
|
15
|
+
(ZERO) AND TO START OVER IN THE MIDDLE OF A GAME, TYPE
|
16
|
+
11 (ELEVEN).
|
17
|
+
|
18
|
+
HERE IS THE STARTING LINE OF X'S.
|
19
|
+
|
20
|
+
1 2 3 4 5 6 7 8 9 10
|
21
|
+
X X X X X X X X X X
|
22
|
+
|
23
|
+
INPUT THE NUMBER? 1
|
24
|
+
1 2 3 4 5 6 7 8 9 10
|
25
|
+
O X X X X X X O X X
|
26
|
+
INPUT THE NUMBER? 2
|
27
|
+
1 2 3 4 5 6 7 8 9 10
|
28
|
+
O O X X O X X O X X
|
29
|
+
INPUT THE NUMBER? 3
|
30
|
+
1 2 3 4 5 6 7 8 9 10
|
31
|
+
O O O O O X X O X X
|
32
|
+
INPUT THE NUMBER? 6
|
33
|
+
1 2 3 4 5 6 7 8 9 10
|
34
|
+
O O O O O O O O X X
|
35
|
+
INPUT THE NUMBER? 9
|
36
|
+
1 2 3 4 5 6 7 8 9 10
|
37
|
+
O O O O X O O O O X
|
38
|
+
INPUT THE NUMBER? 10
|
39
|
+
1 2 3 4 5 6 7 8 9 10
|
40
|
+
O X O O X O O O O O
|
41
|
+
INPUT THE NUMBER? 2
|
42
|
+
1 2 3 4 5 6 7 8 9 10
|
43
|
+
O O O O O O O O O O
|
44
|
+
VERY GOOD. YOU GUESSED IT IN ONLY 7 GUESSES.
|
45
|
+
DO YOU WANT TO TRY ANOTHER PUZZLE? NO
|