Nim game

Revision as of 15:50, 10 April 2019 by rosettacode>Prof Apex (A simple Nim game challenge, plus implementation in AsciiDots - more implementations (python, javascript, maybe some others) coming very soon.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Nim is a simple, unwinnable game. The second player - if they know the trick - will always win. The game is simple, and has only 3 rules.

  • start with 12 tokens
  • each player takes 1, 2, or 3 tokens in turn
  • the player who takes the last token wins.
Nim game is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

To win every time, the second player simply takes 4 minus the number the first player took.

Task

Design a simple Nim game where the player goes first, and the computer always wins. The game should enforce the rules.

==AsciiDots-- <lang AsciiDots> %$MXTRL .-$"Nim Dots v0.5 by Prof_Apex"-$""-

                                                 /$_"Number must be "\
            T                               /----~------\            |
            *M                          /---+-*-[o]     |            |
         R [-]\                        .>#3-+[>][<]-1#<.|            |
    .-#12>--^ \"stod "$-#_$-" ekat uoY"_$---/ \--*----*-/            |

.>$_"How many dots would you like to take"---#?---/ |

\X                                     X---------<".3 dna 1 neewteb"$/
           /-----*L                              |
          [-]--\ R                               |
           |   *-$_"Computer takes "-$_#-$" dots"/
         M-*#4[%]
           \---/ 
           
                 /----------------$"computer wins!"-&
             /---~--
             *#0[=]

L-------------*---*>$_#-$" dots remaining."-$""

                  T

</lang>