basic101 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rspec +2 -0
- data/.simplecov +1 -0
- data/.yardopts +7 -0
- data/Changelog.md +3 -0
- data/Gemfile +12 -0
- data/Gemfile.lock +75 -0
- data/LICENSE.md +9 -0
- data/README.md +193 -0
- data/Rakefile +14 -0
- data/VERSION +1 -0
- data/bin/basic101 +10 -0
- data/lib/basic101/abs_function.rb +19 -0
- data/lib/basic101/argument_checker.rb +61 -0
- data/lib/basic101/arguments.rb +32 -0
- data/lib/basic101/array_reference.rb +52 -0
- data/lib/basic101/asc_function.rb +17 -0
- data/lib/basic101/basic_array.rb +69 -0
- data/lib/basic101/basic_comparisons.rb +20 -0
- data/lib/basic101/basic_float.rb +48 -0
- data/lib/basic101/basic_integer.rb +48 -0
- data/lib/basic101/basic_math.rb +22 -0
- data/lib/basic101/basic_numeric.rb +96 -0
- data/lib/basic101/basic_object.rb +35 -0
- data/lib/basic101/basic_string.rb +85 -0
- data/lib/basic101/binary_operation.rb +32 -0
- data/lib/basic101/binary_operations.rb +26 -0
- data/lib/basic101/built_in_functions.rb +31 -0
- data/lib/basic101/chr_function.rb +17 -0
- data/lib/basic101/cos_function.rb +17 -0
- data/lib/basic101/data_statement.rb +24 -0
- data/lib/basic101/define_function_statement.rb +23 -0
- data/lib/basic101/dim_statement.rb +25 -0
- data/lib/basic101/else_statement.rb +22 -0
- data/lib/basic101/end_statement.rb +13 -0
- data/lib/basic101/endif_statement.rb +19 -0
- data/lib/basic101/errors.rb +50 -0
- data/lib/basic101/exp_function.rb +17 -0
- data/lib/basic101/for_stack.rb +48 -0
- data/lib/basic101/for_statement.rb +57 -0
- data/lib/basic101/function.rb +11 -0
- data/lib/basic101/function_call.rb +32 -0
- data/lib/basic101/function_identifier.rb +8 -0
- data/lib/basic101/functions.rb +39 -0
- data/lib/basic101/gosub_statement.rb +23 -0
- data/lib/basic101/goto_statement.rb +23 -0
- data/lib/basic101/identifier.rb +23 -0
- data/lib/basic101/identity.rb +18 -0
- data/lib/basic101/if_statement.rb +31 -0
- data/lib/basic101/input.rb +44 -0
- data/lib/basic101/input_reader.rb +55 -0
- data/lib/basic101/input_statement.rb +46 -0
- data/lib/basic101/int_function.rb +17 -0
- data/lib/basic101/left_function.rb +19 -0
- data/lib/basic101/len_function.rb +18 -0
- data/lib/basic101/let_statement.rb +24 -0
- data/lib/basic101/line.rb +32 -0
- data/lib/basic101/log_function.rb +17 -0
- data/lib/basic101/main.rb +24 -0
- data/lib/basic101/mid_function.rb +20 -0
- data/lib/basic101/negate_operation.rb +21 -0
- data/lib/basic101/next_statement.rb +34 -0
- data/lib/basic101/not_operation.rb +23 -0
- data/lib/basic101/null_prompt_delimeter.rb +12 -0
- data/lib/basic101/null_transcript.rb +20 -0
- data/lib/basic101/numeric_identifier.rb +16 -0
- data/lib/basic101/on_goto_statement.rb +29 -0
- data/lib/basic101/output.rb +73 -0
- data/lib/basic101/parser.rb +457 -0
- data/lib/basic101/power_operation.rb +24 -0
- data/lib/basic101/print_comma.rb +20 -0
- data/lib/basic101/print_semicolon.rb +19 -0
- data/lib/basic101/print_statement.rb +33 -0
- data/lib/basic101/program.rb +100 -0
- data/lib/basic101/program_counter.rb +52 -0
- data/lib/basic101/prompt_delimeter.rb +13 -0
- data/lib/basic101/randomize_statement.rb +13 -0
- data/lib/basic101/read_statement.rb +25 -0
- data/lib/basic101/reference.rb +25 -0
- data/lib/basic101/remark_statement.rb +12 -0
- data/lib/basic101/restore_statement.rb +23 -0
- data/lib/basic101/return_statement.rb +16 -0
- data/lib/basic101/right_function.rb +19 -0
- data/lib/basic101/rnd_function.rb +24 -0
- data/lib/basic101/runtime.rb +132 -0
- data/lib/basic101/scalar_reference.rb +19 -0
- data/lib/basic101/sgn_function.rb +17 -0
- data/lib/basic101/sin_function.rb +17 -0
- data/lib/basic101/sqr_function.rb +17 -0
- data/lib/basic101/statement.rb +36 -0
- data/lib/basic101/stop_statement.rb +14 -0
- data/lib/basic101/str_function.rb +16 -0
- data/lib/basic101/string_identifier.rb +16 -0
- data/lib/basic101/tab.rb +18 -0
- data/lib/basic101/tab_function.rb +17 -0
- data/lib/basic101/tan_function.rb +17 -0
- data/lib/basic101/transcript.rb +37 -0
- data/lib/basic101/transform.rb +264 -0
- data/lib/basic101/user_defined_function.rb +54 -0
- data/lib/basic101/val_function.rb +16 -0
- data/lib/basic101.rb +93 -0
- data/rake_tasks/default.rake +1 -0
- data/rake_tasks/integration.rake +8 -0
- data/rake_tasks/jeweler.rake +28 -0
- data/rake_tasks/spec.rake +8 -0
- data/rake_tasks/test.rake +2 -0
- data/rake_tasks/yard.rake +3 -0
- data/test/integration/arguments.rb +25 -0
- data/test/integration/errors.rb +7 -0
- data/test/integration/integration_test.rb +28 -0
- data/test/integration/main.rb +49 -0
- data/test/integration/output_file.rb +40 -0
- data/test/integration/test.rb +135 -0
- data/test/integration/tests/basic_computer_games/23-match.bas +64 -0
- data/test/integration/tests/basic_computer_games/23-match.input +1 -0
- data/test/integration/tests/basic_computer_games/23-match.output +29 -0
- data/test/integration/tests/basic_computer_games/3dplot.bas +17 -0
- data/test/integration/tests/basic_computer_games/3dplot.input +0 -0
- data/test/integration/tests/basic_computer_games/3dplot.output +47 -0
- data/test/integration/tests/basic_computer_games/aceyducy.bas +100 -0
- data/test/integration/tests/basic_computer_games/aceyducy.input +8 -0
- data/test/integration/tests/basic_computer_games/aceyducy.output +78 -0
- data/test/integration/tests/basic_computer_games/amazing.bas +138 -0
- data/test/integration/tests/basic_computer_games/amazing.input +1 -0
- data/test/integration/tests/basic_computer_games/amazing.output +32 -0
- data/test/integration/tests/basic_computer_games/animal.bas +71 -0
- data/test/integration/tests/basic_computer_games/animal.input +17 -0
- data/test/integration/tests/basic_computer_games/animal.output +38 -0
- data/test/integration/tests/basic_computer_games/awari.bas +70 -0
- data/test/integration/tests/basic_computer_games/awari.input +11 -0
- data/test/integration/tests/basic_computer_games/awari.output +117 -0
- data/test/integration/tests/basic_computer_games/bagels.bas +81 -0
- data/test/integration/tests/basic_computer_games/bagels.input +12 -0
- data/test/integration/tests/basic_computer_games/bagels.output +42 -0
- data/test/integration/tests/basic_computer_games/banner.bas +94 -0
- data/test/integration/tests/basic_computer_games/banner.input +6 -0
- data/test/integration/tests/basic_computer_games/banner.output +135 -0
- data/test/integration/tests/basic_computer_games/basketbl.bas +196 -0
- data/test/integration/tests/basic_computer_games/basketbl.input +46 -0
- data/test/integration/tests/basic_computer_games/basketbl.output +509 -0
- data/test/integration/tests/basic_computer_games/batnum.bas +90 -0
- data/test/integration/tests/basic_computer_games/batnum.input +14 -0
- data/test/integration/tests/basic_computer_games/batnum.output +67 -0
- data/test/integration/tests/basic_computer_games/battle.bas +196 -0
- data/test/integration/tests/basic_computer_games/battle.input +21 -0
- data/test/integration/tests/basic_computer_games/battle.output +118 -0
- data/test/integration/tests/basic_computer_games/blackjck.bas +321 -0
- data/test/integration/tests/basic_computer_games/blackjck.input +26 -0
- data/test/integration/tests/basic_computer_games/blackjck.output +144 -0
- data/test/integration/tests/basic_computer_games/bombard.bas +93 -0
- data/test/integration/tests/basic_computer_games/bombard.input +20 -0
- data/test/integration/tests/basic_computer_games/bombard.output +175 -0
- data/test/integration/tests/basic_computer_games/bounce.bas +53 -0
- data/test/integration/tests/basic_computer_games/bounce.input +0 -0
- data/test/integration/tests/basic_computer_games/bounce.output +15 -0
- data/test/integration/tests/basic_computer_games/bowling.bas +101 -0
- data/test/integration/tests/basic_computer_games/bowling.input +23 -0
- data/test/integration/tests/basic_computer_games/bowling.output +229 -0
- data/test/integration/tests/basic_computer_games/boxing.bas +142 -0
- data/test/integration/tests/basic_computer_games/boxing.input +8 -0
- data/test/integration/tests/basic_computer_games/boxing.output +47 -0
- data/test/integration/tests/basic_computer_games/bug.bas +256 -0
- data/test/integration/tests/basic_computer_games/bug.input +17 -0
- data/test/integration/tests/basic_computer_games/bug.output +847 -0
- data/test/integration/tests/basic_computer_games/bullfght.bas +193 -0
- data/test/integration/tests/basic_computer_games/bullfght.input +4 -0
- data/test/integration/tests/basic_computer_games/bullfght.output +60 -0
- data/test/integration/tests/basic_computer_games/bullseye.bas +37 -0
- data/test/integration/tests/basic_computer_games/bullseye.input +10 -0
- data/test/integration/tests/basic_computer_games/bullseye.output +79 -0
- data/test/integration/tests/basic_computer_games/bunny.bas +40 -0
- data/test/integration/tests/basic_computer_games/bunny.input +0 -0
- data/test/integration/tests/basic_computer_games/bunny.output +67 -0
- data/test/integration/tests/basic_computer_games/buzzword.bas +25 -0
- data/test/integration/tests/basic_computer_games/buzzword.input +4 -0
- data/test/integration/tests/basic_computer_games/buzzword.output +25 -0
- data/test/integration/tests/basic_computer_games/calendar.bas +58 -0
- data/test/integration/tests/basic_computer_games/calendar.input +0 -0
- data/test/integration/tests/basic_computer_games/calendar.output +213 -0
- data/test/integration/tests/basic_computer_games/change.bas +51 -0
- data/test/integration/tests/basic_computer_games/change.input +4 -0
- data/test/integration/tests/basic_computer_games/change.output +28 -0
- data/test/integration/tests/basic_computer_games/checkers.bas +82 -0
- data/test/integration/tests/basic_computer_games/checkers.input +74 -0
- data/test/integration/tests/basic_computer_games/checkers.output +673 -0
- data/test/integration/tests/basic_computer_games/chemist.bas +27 -0
- data/test/integration/tests/basic_computer_games/chemist.input +11 -0
- data/test/integration/tests/basic_computer_games/chemist.output +54 -0
- data/test/integration/tests/basic_computer_games/chief.bas +51 -0
- data/test/integration/tests/basic_computer_games/chief.input +5 -0
- data/test/integration/tests/basic_computer_games/chief.output +19 -0
- data/test/integration/tests/basic_computer_games/chomp.bas +104 -0
- data/test/integration/tests/basic_computer_games/chomp.input +15 -0
- data/test/integration/tests/basic_computer_games/chomp.output +159 -0
- data/test/integration/tests/basic_computer_games/combat.bas +124 -0
- data/test/integration/tests/basic_computer_games/combat.input +7 -0
- data/test/integration/tests/basic_computer_games/combat.output +33 -0
- data/test/integration/tests/basic_computer_games/craps.bas +82 -0
- data/test/integration/tests/basic_computer_games/craps.input +9 -0
- data/test/integration/tests/basic_computer_games/craps.output +51 -0
- data/test/integration/tests/basic_computer_games/cube.bas +161 -0
- data/test/integration/tests/basic_computer_games/cube.input +25 -0
- data/test/integration/tests/basic_computer_games/cube.output +72 -0
- data/test/integration/tests/basic_computer_games/depthchg.bas +33 -0
- data/test/integration/tests/basic_computer_games/depthchg.input +16 -0
- data/test/integration/tests/basic_computer_games/depthchg.output +83 -0
- data/test/integration/tests/basic_computer_games/diamond.bas +27 -0
- data/test/integration/tests/basic_computer_games/diamond.input +1 -0
- data/test/integration/tests/basic_computer_games/diamond.output +65 -0
- data/test/integration/tests/basic_computer_games/dice.bas +31 -0
- data/test/integration/tests/basic_computer_games/dice.input +4 -0
- data/test/integration/tests/basic_computer_games/dice.output +46 -0
- data/test/integration/tests/basic_computer_games/digits.bas +78 -0
- data/test/integration/tests/basic_computer_games/digits.input +5 -0
- data/test/integration/tests/basic_computer_games/digits.output +70 -0
- data/test/integration/tests/basic_computer_games/evenwin1.bas +128 -0
- data/test/integration/tests/basic_computer_games/evenwin1.input +13 -0
- data/test/integration/tests/basic_computer_games/evenwin1.output +116 -0
- data/test/integration/tests/basic_computer_games/evenwin2.bas +70 -0
- data/test/integration/tests/basic_computer_games/evenwin2.input +14 -0
- data/test/integration/tests/basic_computer_games/evenwin2.output +56 -0
- data/test/integration/tests/basic_computer_games/flipflop.bas +79 -0
- data/test/integration/tests/basic_computer_games/flipflop.input +8 -0
- data/test/integration/tests/basic_computer_games/flipflop.output +45 -0
- data/test/integration/tests/basic_computer_games/footbal1.bas +298 -0
- data/test/integration/tests/basic_computer_games/footbal1.input +13 -0
- data/test/integration/tests/basic_computer_games/footbal1.output +315 -0
- data/test/integration/tests/basic_computer_games/footbal2.bas +181 -0
- data/test/integration/tests/basic_computer_games/footbal2.input +23 -0
- data/test/integration/tests/basic_computer_games/footbal2.output +318 -0
- data/test/integration/tests/basic_computer_games/furtradr.bas +170 -0
- data/test/integration/tests/basic_computer_games/furtradr.input +20 -0
- data/test/integration/tests/basic_computer_games/furtradr.output +133 -0
- data/test/integration/tests/basic_computer_games/golf.bas +244 -0
- data/test/integration/tests/basic_computer_games/golf.input +11 -0
- data/test/integration/tests/basic_computer_games/golf.output +69 -0
- data/test/integration/tests/basic_computer_games/gomoko.bas +54 -0
- data/test/integration/tests/basic_computer_games/gomoko.input +6 -0
- data/test/integration/tests/basic_computer_games/gomoko.output +66 -0
- data/test/integration/tests/basic_computer_games/guess.bas +40 -0
- data/test/integration/tests/basic_computer_games/guess.input +8 -0
- data/test/integration/tests/basic_computer_games/guess.output +37 -0
- data/test/integration/tests/basic_computer_games/gunner.bas +52 -0
- data/test/integration/tests/basic_computer_games/gunner.input +18 -0
- data/test/integration/tests/basic_computer_games/gunner.output +91 -0
- data/test/integration/tests/basic_computer_games/hamurabi.bas +119 -0
- data/test/integration/tests/basic_computer_games/hamurabi.input +7 -0
- data/test/integration/tests/basic_computer_games/hamurabi.output +51 -0
- data/test/integration/tests/basic_computer_games/hangman.bas +81 -0
- data/test/integration/tests/basic_computer_games/hangman.input +69 -0
- data/test/integration/tests/basic_computer_games/hangman.output +889 -0
- data/test/integration/tests/basic_computer_games/hello.bas +83 -0
- data/test/integration/tests/basic_computer_games/hello.input +7 -0
- data/test/integration/tests/basic_computer_games/hello.output +46 -0
- data/test/integration/tests/basic_computer_games/hexapawn.bas +174 -0
- data/test/integration/tests/basic_computer_games/hexapawn.input +38 -0
- data/test/integration/tests/basic_computer_games/hexapawn.output +521 -0
- data/test/integration/tests/basic_computer_games/hi-q.bas +135 -0
- data/test/integration/tests/basic_computer_games/hi-q.input +14 -0
- data/test/integration/tests/basic_computer_games/hi-q.output +115 -0
- data/test/integration/tests/basic_computer_games/hilo.bas +29 -0
- data/test/integration/tests/basic_computer_games/hilo.input +20 -0
- data/test/integration/tests/basic_computer_games/hilo.output +76 -0
- data/test/integration/tests/basic_computer_games/hockey.bas +210 -0
- data/test/integration/tests/basic_computer_games/hockey.input +59 -0
- data/test/integration/tests/basic_computer_games/hockey.output +243 -0
- data/test/integration/tests/basic_computer_games/horsrace.bas +130 -0
- data/test/integration/tests/basic_computer_games/horsrace.input +11 -0
- data/test/integration/tests/basic_computer_games/horsrace.output +517 -0
- data/test/integration/tests/basic_computer_games/hurkle.bas +51 -0
- data/test/integration/tests/basic_computer_games/hurkle.input +16 -0
- data/test/integration/tests/basic_computer_games/hurkle.output +81 -0
- data/test/integration/tests/basic_computer_games/kinema.bas +34 -0
- data/test/integration/tests/basic_computer_games/kinema.input +9 -0
- data/test/integration/tests/basic_computer_games/kinema.output +64 -0
- data/test/integration/tests/basic_computer_games/king.bas +268 -0
- data/test/integration/tests/basic_computer_games/king.input +7 -0
- data/test/integration/tests/basic_computer_games/king.output +57 -0
- data/test/integration/tests/basic_computer_games/lem.bas +246 -0
- data/test/integration/tests/basic_computer_games/lem.input +4 -0
- data/test/integration/tests/basic_computer_games/lem.output +68 -0
- data/test/integration/tests/basic_computer_games/letter.bas +26 -0
- data/test/integration/tests/basic_computer_games/letter.input +24 -0
- data/test/integration/tests/basic_computer_games/letter.output +123 -0
- data/test/integration/tests/basic_computer_games/life.bas +66 -0
- data/test/integration/tests/basic_computer_games/life.input +4 -0
- data/test/integration/tests/basic_computer_games/life.options +1 -0
- data/test/integration/tests/basic_computer_games/life.output +200 -0
- data/test/integration/tests/basic_computer_games/life2.bas +83 -0
- data/test/integration/tests/basic_computer_games/life2.input +17 -0
- data/test/integration/tests/basic_computer_games/life2.output +113 -0
- data/test/integration/tests/basic_computer_games/litquiz.bas +49 -0
- data/test/integration/tests/basic_computer_games/litquiz.input +4 -0
- data/test/integration/tests/basic_computer_games/litquiz.output +36 -0
- data/test/integration/tests/basic_computer_games/love.bas +34 -0
- data/test/integration/tests/basic_computer_games/love.input +1 -0
- data/test/integration/tests/basic_computer_games/love.output +67 -0
- data/test/integration/tests/basic_computer_games/lunar.bas +48 -0
- data/test/integration/tests/basic_computer_games/lunar.input +87 -0
- data/test/integration/tests/basic_computer_games/lunar.output +195 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.bas +232 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.input +18 -0
- data/test/integration/tests/basic_computer_games/mastrmnd.output +67 -0
- data/test/integration/tests/basic_computer_games/mathdice.bas +60 -0
- data/test/integration/tests/basic_computer_games/mathdice.input +4 -0
- data/test/integration/tests/basic_computer_games/mathdice.output +86 -0
- data/test/integration/tests/basic_computer_games/mugwump.bas +56 -0
- data/test/integration/tests/basic_computer_games/mugwump.input +16 -0
- data/test/integration/tests/basic_computer_games/mugwump.output +139 -0
- data/test/integration/tests/basic_computer_games/name.bas +25 -0
- data/test/integration/tests/basic_computer_games/name.input +2 -0
- data/test/integration/tests/basic_computer_games/name.output +22 -0
- data/test/integration/tests/basic_computer_games/nicoma.bas +34 -0
- data/test/integration/tests/basic_computer_games/nicoma.input +8 -0
- data/test/integration/tests/basic_computer_games/nicoma.output +36 -0
- data/test/integration/tests/basic_computer_games/nim.bas +156 -0
- data/test/integration/tests/basic_computer_games/nim.input +8 -0
- data/test/integration/tests/basic_computer_games/nim.output +30 -0
- data/test/integration/tests/basic_computer_games/number.bas +37 -0
- data/test/integration/tests/basic_computer_games/number.input +19 -0
- data/test/integration/tests/basic_computer_games/number.output +73 -0
- data/test/integration/tests/basic_computer_games/onecheck.bas +86 -0
- data/test/integration/tests/basic_computer_games/onecheck.input +6 -0
- data/test/integration/tests/basic_computer_games/onecheck.output +77 -0
- data/test/integration/tests/basic_computer_games/orbit.bas +96 -0
- data/test/integration/tests/basic_computer_games/orbit.input +10 -0
- data/test/integration/tests/basic_computer_games/orbit.output +113 -0
- data/test/integration/tests/basic_computer_games/pizza.bas +68 -0
- data/test/integration/tests/basic_computer_games/pizza.input +10 -0
- data/test/integration/tests/basic_computer_games/pizza.output +93 -0
- data/test/integration/tests/basic_computer_games/poetry.bas +42 -0
- data/test/integration/tests/basic_computer_games/poetry.input +0 -0
- data/test/integration/tests/basic_computer_games/poetry.options +1 -0
- data/test/integration/tests/basic_computer_games/poetry.output +50 -0
- data/test/integration/tests/basic_computer_games/poker.bas +416 -0
- data/test/integration/tests/basic_computer_games/poker.input +34 -0
- data/test/integration/tests/basic_computer_games/poker.output +197 -0
- data/test/integration/tests/basic_computer_games/queen.bas +168 -0
- data/test/integration/tests/basic_computer_games/queen.input +10 -0
- data/test/integration/tests/basic_computer_games/queen.output +133 -0
- data/test/integration/tests/basic_computer_games/reverse.bas +62 -0
- data/test/integration/tests/basic_computer_games/reverse.input +12 -0
- data/test/integration/tests/basic_computer_games/reverse.output +79 -0
- data/test/integration/tests/basic_computer_games/rocket.bas +71 -0
- data/test/integration/tests/basic_computer_games/rocket.input +42 -0
- data/test/integration/tests/basic_computer_games/rocket.output +149 -0
- data/test/integration/tests/basic_computer_games/rocksp.bas +33 -0
- data/test/integration/tests/basic_computer_games/rocksp.input +9 -0
- data/test/integration/tests/basic_computer_games/rocksp.output +69 -0
- data/test/integration/tests/basic_computer_games/roulette.bas +239 -0
- data/test/integration/tests/basic_computer_games/roulette.input +9 -0
- data/test/integration/tests/basic_computer_games/roulette.output +98 -0
- data/test/integration/tests/basic_computer_games/rusrou.bas +26 -0
- data/test/integration/tests/basic_computer_games/rusrou.input +9 -0
- data/test/integration/tests/basic_computer_games/rusrou.output +50 -0
- data/test/integration/tests/basic_computer_games/salvo.bas +329 -0
- data/test/integration/tests/basic_computer_games/salvo.input +21 -0
- data/test/integration/tests/basic_computer_games/salvo.output +49 -0
- data/test/integration/tests/basic_computer_games/sinewave.bas +17 -0
- data/test/integration/tests/basic_computer_games/sinewave.input +0 -0
- data/test/integration/tests/basic_computer_games/sinewave.output +168 -0
- data/test/integration/tests/basic_computer_games/slalom.bas +165 -0
- data/test/integration/tests/basic_computer_games/slalom.input +20 -0
- data/test/integration/tests/basic_computer_games/slalom.output +122 -0
- data/test/integration/tests/basic_computer_games/slots.bas +134 -0
- data/test/integration/tests/basic_computer_games/slots.input +2 -0
- data/test/integration/tests/basic_computer_games/slots.output +20 -0
- data/test/integration/tests/basic_computer_games/splat.bas +128 -0
- data/test/integration/tests/basic_computer_games/splat.input +9 -0
- data/test/integration/tests/basic_computer_games/splat.output +61 -0
- data/test/integration/tests/basic_computer_games/stars.bas +54 -0
- data/test/integration/tests/basic_computer_games/stars.input +15 -0
- data/test/integration/tests/basic_computer_games/stars.output +70 -0
- data/test/integration/tests/basic_computer_games/stock.bas +232 -0
- data/test/integration/tests/basic_computer_games/stock.input +30 -0
- data/test/integration/tests/basic_computer_games/stock.output +156 -0
- data/test/integration/tests/basic_computer_games/superstartrek.bas +425 -0
- data/test/integration/tests/basic_computer_games/superstartrek.input +21 -0
- data/test/integration/tests/basic_computer_games/superstartrek.output +151 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.bas +127 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.input +1 -0
- data/test/integration/tests/basic_computer_games/superstartrekins.output +134 -0
- data/test/integration/tests/basic_computer_games/synonym.bas +53 -0
- data/test/integration/tests/basic_computer_games/synonym.input +13 -0
- data/test/integration/tests/basic_computer_games/synonym.output +57 -0
- data/test/integration/tests/basic_computer_games/target.bas +51 -0
- data/test/integration/tests/basic_computer_games/target.input +2 -0
- data/test/integration/tests/basic_computer_games/target.output +39 -0
- data/test/integration/tests/basic_computer_games/tictac1.bas +69 -0
- data/test/integration/tests/basic_computer_games/tictac1.input +10 -0
- data/test/integration/tests/basic_computer_games/tictac1.output +49 -0
- data/test/integration/tests/basic_computer_games/tictac2.bas +114 -0
- data/test/integration/tests/basic_computer_games/tictac2.input +6 -0
- data/test/integration/tests/basic_computer_games/tictac2.output +104 -0
- data/test/integration/tests/basic_computer_games/towers.bas +125 -0
- data/test/integration/tests/basic_computer_games/towers.input +9 -0
- data/test/integration/tests/basic_computer_games/towers.output +70 -0
- data/test/integration/tests/basic_computer_games/train.bas +24 -0
- data/test/integration/tests/basic_computer_games/train.input +4 -0
- data/test/integration/tests/basic_computer_games/train.output +23 -0
- data/test/integration/tests/basic_computer_games/trap.bas +49 -0
- data/test/integration/tests/basic_computer_games/trap.input +7 -0
- data/test/integration/tests/basic_computer_games/trap.output +40 -0
- data/test/integration/tests/basic_computer_games/war.bas +68 -0
- data/test/integration/tests/basic_computer_games/war.input +11 -0
- data/test/integration/tests/basic_computer_games/war.output +54 -0
- data/test/integration/tests/basic_computer_games/weekday.bas +150 -0
- data/test/integration/tests/basic_computer_games/weekday.input +2 -0
- data/test/integration/tests/basic_computer_games/weekday.output +28 -0
- data/test/integration/tests/basic_computer_games/word.bas +65 -0
- data/test/integration/tests/basic_computer_games/word.input +6 -0
- data/test/integration/tests/basic_computer_games/word.output +0 -0
- data/test/integration/tests/fast/abs.bas +5 -0
- data/test/integration/tests/fast/abs.input +0 -0
- data/test/integration/tests/fast/abs.output +5 -0
- data/test/integration/tests/fast/add.bas +5 -0
- data/test/integration/tests/fast/add.input +0 -0
- data/test/integration/tests/fast/add.output +5 -0
- data/test/integration/tests/fast/and.bas +5 -0
- data/test/integration/tests/fast/and.input +0 -0
- data/test/integration/tests/fast/and.output +5 -0
- data/test/integration/tests/fast/array.bas +11 -0
- data/test/integration/tests/fast/array.input +0 -0
- data/test/integration/tests/fast/array.output +6 -0
- data/test/integration/tests/fast/asc.bas +1 -0
- data/test/integration/tests/fast/asc.input +0 -0
- data/test/integration/tests/fast/asc.output +1 -0
- data/test/integration/tests/fast/chr.bas +1 -0
- data/test/integration/tests/fast/chr.input +0 -0
- data/test/integration/tests/fast/chr.output +1 -0
- data/test/integration/tests/fast/cos.bas +1 -0
- data/test/integration/tests/fast/cos.input +0 -0
- data/test/integration/tests/fast/cos.output +1 -0
- data/test/integration/tests/fast/def_fn.bas +9 -0
- data/test/integration/tests/fast/def_fn.input +0 -0
- data/test/integration/tests/fast/def_fn.output +5 -0
- data/test/integration/tests/fast/divide.bas +5 -0
- data/test/integration/tests/fast/divide.input +0 -0
- data/test/integration/tests/fast/divide.output +5 -0
- data/test/integration/tests/fast/end.bas +3 -0
- data/test/integration/tests/fast/end.input +0 -0
- data/test/integration/tests/fast/end.output +1 -0
- data/test/integration/tests/fast/eq.bas +3 -0
- data/test/integration/tests/fast/eq.input +0 -0
- data/test/integration/tests/fast/eq.output +3 -0
- data/test/integration/tests/fast/exp.bas +2 -0
- data/test/integration/tests/fast/exp.input +0 -0
- data/test/integration/tests/fast/exp.output +2 -0
- data/test/integration/tests/fast/float.bas +3 -0
- data/test/integration/tests/fast/float.input +0 -0
- data/test/integration/tests/fast/float.output +2 -0
- data/test/integration/tests/fast/for_next.bas +61 -0
- data/test/integration/tests/fast/for_next.input +0 -0
- data/test/integration/tests/fast/for_next.output +46 -0
- data/test/integration/tests/fast/ge.bas +3 -0
- data/test/integration/tests/fast/ge.input +0 -0
- data/test/integration/tests/fast/ge.output +3 -0
- data/test/integration/tests/fast/gosub_return.bas +10 -0
- data/test/integration/tests/fast/gosub_return.input +0 -0
- data/test/integration/tests/fast/gosub_return.output +4 -0
- data/test/integration/tests/fast/goto.bas +3 -0
- data/test/integration/tests/fast/goto.input +0 -0
- data/test/integration/tests/fast/goto.output +1 -0
- data/test/integration/tests/fast/gt.bas +3 -0
- data/test/integration/tests/fast/gt.input +0 -0
- data/test/integration/tests/fast/gt.output +3 -0
- data/test/integration/tests/fast/if.bas +25 -0
- data/test/integration/tests/fast/if.input +0 -0
- data/test/integration/tests/fast/if.output +8 -0
- data/test/integration/tests/fast/input.bas +24 -0
- data/test/integration/tests/fast/input.input +10 -0
- data/test/integration/tests/fast/input.output +28 -0
- data/test/integration/tests/fast/int.bas +5 -0
- data/test/integration/tests/fast/int.input +0 -0
- data/test/integration/tests/fast/int.output +5 -0
- data/test/integration/tests/fast/integer_plus_string.bas +1 -0
- data/test/integration/tests/fast/integer_plus_string.input +0 -0
- data/test/integration/tests/fast/integer_plus_string.output +1 -0
- data/test/integration/tests/fast/invalid_argument.bas +1 -0
- data/test/integration/tests/fast/invalid_argument.input +0 -0
- data/test/integration/tests/fast/invalid_argument.output +1 -0
- data/test/integration/tests/fast/le.bas +3 -0
- data/test/integration/tests/fast/le.input +0 -0
- data/test/integration/tests/fast/le.output +3 -0
- data/test/integration/tests/fast/left.bas +1 -0
- data/test/integration/tests/fast/left.input +0 -0
- data/test/integration/tests/fast/left.output +1 -0
- data/test/integration/tests/fast/len.bas +2 -0
- data/test/integration/tests/fast/len.input +0 -0
- data/test/integration/tests/fast/len.output +2 -0
- data/test/integration/tests/fast/let.bas +6 -0
- data/test/integration/tests/fast/let.input +0 -0
- data/test/integration/tests/fast/let.output +4 -0
- data/test/integration/tests/fast/log.bas +1 -0
- data/test/integration/tests/fast/log.input +0 -0
- data/test/integration/tests/fast/log.output +1 -0
- data/test/integration/tests/fast/lt.bas +3 -0
- data/test/integration/tests/fast/lt.input +0 -0
- data/test/integration/tests/fast/lt.output +3 -0
- data/test/integration/tests/fast/math.output +0 -0
- data/test/integration/tests/fast/mid.bas +2 -0
- data/test/integration/tests/fast/mid.input +0 -0
- data/test/integration/tests/fast/mid.output +2 -0
- data/test/integration/tests/fast/multiply.bas +5 -0
- data/test/integration/tests/fast/multiply.input +0 -0
- data/test/integration/tests/fast/multiply.output +5 -0
- data/test/integration/tests/fast/ne.bas +3 -0
- data/test/integration/tests/fast/ne.input +0 -0
- data/test/integration/tests/fast/ne.output +3 -0
- data/test/integration/tests/fast/negate.bas +4 -0
- data/test/integration/tests/fast/negate.input +0 -0
- data/test/integration/tests/fast/negate.output +3 -0
- data/test/integration/tests/fast/not.bas +4 -0
- data/test/integration/tests/fast/not.input +0 -0
- data/test/integration/tests/fast/not.output +4 -0
- data/test/integration/tests/fast/on_goto.bas +6 -0
- data/test/integration/tests/fast/on_goto.input +0 -0
- data/test/integration/tests/fast/on_goto.output +2 -0
- data/test/integration/tests/fast/or.bas +5 -0
- data/test/integration/tests/fast/or.input +0 -0
- data/test/integration/tests/fast/or.output +5 -0
- data/test/integration/tests/fast/parentheses.bas +1 -0
- data/test/integration/tests/fast/parentheses.input +0 -0
- data/test/integration/tests/fast/parentheses.output +1 -0
- data/test/integration/tests/fast/power.bas +4 -0
- data/test/integration/tests/fast/power.input +0 -0
- data/test/integration/tests/fast/power.output +4 -0
- data/test/integration/tests/fast/print.bas +6 -0
- data/test/integration/tests/fast/print.input +0 -0
- data/test/integration/tests/fast/print.output +4 -0
- data/test/integration/tests/fast/read_data.bas +15 -0
- data/test/integration/tests/fast/read_data.input +0 -0
- data/test/integration/tests/fast/read_data.output +4 -0
- data/test/integration/tests/fast/rem.bas +1 -0
- data/test/integration/tests/fast/rem.input +0 -0
- data/test/integration/tests/fast/rem.output +0 -0
- data/test/integration/tests/fast/right.bas +1 -0
- data/test/integration/tests/fast/right.input +0 -0
- data/test/integration/tests/fast/right.output +1 -0
- data/test/integration/tests/fast/rnd.bas +5 -0
- data/test/integration/tests/fast/rnd.input +0 -0
- data/test/integration/tests/fast/rnd.output +5 -0
- data/test/integration/tests/fast/sgn.bas +5 -0
- data/test/integration/tests/fast/sgn.input +0 -0
- data/test/integration/tests/fast/sgn.output +5 -0
- data/test/integration/tests/fast/sin.bas +1 -0
- data/test/integration/tests/fast/sin.input +0 -0
- data/test/integration/tests/fast/sin.output +1 -0
- data/test/integration/tests/fast/sqr.bas +2 -0
- data/test/integration/tests/fast/sqr.input +0 -0
- data/test/integration/tests/fast/sqr.output +2 -0
- data/test/integration/tests/fast/stop.bas +3 -0
- data/test/integration/tests/fast/stop.input +0 -0
- data/test/integration/tests/fast/stop.output +2 -0
- data/test/integration/tests/fast/str.bas +3 -0
- data/test/integration/tests/fast/str.input +0 -0
- data/test/integration/tests/fast/str.output +3 -0
- data/test/integration/tests/fast/string_addition.bas +1 -0
- data/test/integration/tests/fast/string_addition.input +0 -0
- data/test/integration/tests/fast/string_addition.output +1 -0
- data/test/integration/tests/fast/string_comparisons.bas +7 -0
- data/test/integration/tests/fast/string_comparisons.input +0 -0
- data/test/integration/tests/fast/string_comparisons.output +4 -0
- data/test/integration/tests/fast/string_plus_integer.bas +1 -0
- data/test/integration/tests/fast/string_plus_integer.input +0 -0
- data/test/integration/tests/fast/string_plus_integer.output +1 -0
- data/test/integration/tests/fast/subtract.bas +5 -0
- data/test/integration/tests/fast/subtract.input +0 -0
- data/test/integration/tests/fast/subtract.output +5 -0
- data/test/integration/tests/fast/tab.bas +4 -0
- data/test/integration/tests/fast/tab.input +0 -0
- data/test/integration/tests/fast/tab.output +3 -0
- data/test/integration/tests/fast/tan.bas +1 -0
- data/test/integration/tests/fast/tan.input +0 -0
- data/test/integration/tests/fast/tan.output +1 -0
- data/test/integration/tests/fast/val.bas +3 -0
- data/test/integration/tests/fast/val.input +0 -0
- data/test/integration/tests/fast/val.output +3 -0
- data/test/spec/argument_checker_spec.rb +128 -0
- data/test/spec/basic_array_spec.rb +100 -0
- data/test/spec/basic_float_spec.rb +168 -0
- data/test/spec/basic_integer_spec.rb +270 -0
- data/test/spec/basic_numeric_spec.rb +16 -0
- data/test/spec/basic_object_spec.rb +22 -0
- data/test/spec/basic_string_spec.rb +259 -0
- data/test/spec/for_stack_spec.rb +70 -0
- data/test/spec/input_reader_spec.rb +143 -0
- data/test/spec/input_spec.rb +102 -0
- data/test/spec/line_spec.rb +18 -0
- data/test/spec/output_spec.rb +153 -0
- data/test/spec/parser_spec.rb +562 -0
- data/test/spec/program_spec.rb +45 -0
- data/test/spec/spec_helper.rb +15 -0
- data/test/spec/support/basic_numeric_helpers.rb +327 -0
- data/test/spec/support/basic_object_helpers.rb +22 -0
- data/test/spec/transcript_spec.rb +37 -0
- data/test/spec/transform_spec.rb +513 -0
- metadata +742 -0
@@ -0,0 +1,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
|