Nim game: Difference between revisions
Content added Content deleted
(A simple Nim game challenge, plus implementation in AsciiDots - more implementations (python, javascript, maybe some others) coming very soon.) |
No edit summary |
||
Line 1: | Line 1: | ||
{{draft task}} |
{{draft task}} |
||
Nim is a simple |
Nim is a simple game where the second player - if they know the trick - will always win. |
||
The game |
The game has only 3 rules. |
||
* start with 12 tokens |
* start with 12 tokens |
||
Line 7: | Line 7: | ||
* the player who takes the last token wins. |
* the player who takes the last token wins. |
||
To win every time, the second player simply takes 4 minus the number the first player took. |
To win every time, the second player simply takes 4 minus the number the first player took. So if the first player takes 1, the second takes 3 - if the first player takes 2, the second should take 2 - and if the first player takes 3, the second player will take 1. |
||
;Task: |
;Task: |
Revision as of 15:53, 10 April 2019
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.
Nim is a simple game where the second player - if they know the trick - will always win. The game 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.
To win every time, the second player simply takes 4 minus the number the first player took. So if the first player takes 1, the second takes 3 - if the first player takes 2, the second should take 2 - and if the first player takes 3, the second player will take 1.
- 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>