Nim game: Difference between revisions
Content added Content deleted
m (→{{header|Red}}: add syntax highlighting) |
|||
Line 1,389: | Line 1,389: | ||
320 PRINT "You win!" |
320 PRINT "You win!" |
||
330 END IF</lang> |
330 END IF</lang> |
||
=={{header|J}}== |
|||
Implementation: |
|||
<lang J>nim=: {{ |
|||
prompt tokens=: 12 |
|||
}} |
|||
prompt=: {{ |
|||
echo 'tokens: ',":tokens |
|||
if. 1>tokens do. |
|||
echo 'game over' |
|||
else. |
|||
echo 'take 1, 2 or 3 tokens' |
|||
end. |
|||
}} |
|||
take=: {{ |
|||
assert. y e.1 2 3 |
|||
assert. 0=#$y |
|||
tokens=:tokens-y |
|||
echo 'I take ',(":t=. 4-y),' tokens' |
|||
prompt tokens=:tokens-t |
|||
}}</lang> |
|||
Sample session: |
|||
<lang J> nim'' |
|||
tokens: 12 |
|||
take 1, 2 or 3 tokens |
|||
take 1 |
|||
I take 3 tokens |
|||
tokens: 8 |
|||
take 1, 2 or 3 tokens |
|||
take 2 |
|||
I take 2 tokens |
|||
tokens: 4 |
|||
take 1, 2 or 3 tokens |
|||
take 3 |
|||
I take 1 tokens |
|||
tokens: 0 |
|||
game over</lang> |
|||
=={{header|Java}}== |
=={{header|Java}}== |