Nim game: Difference between revisions
Content added Content deleted
(Applesoft BASIC) |
(Add Red) |
||
Line 2,081: | Line 2,081: | ||
Computer wins.</pre> |
Computer wins.</pre> |
||
=={{header|Red}}== |
|||
<lang red>Red [ |
|||
date: 2021-10-24 |
|||
version: 0.6.4 |
|||
summary: "Demonstrate the game of Nim in Red for Rosetta Code" |
|||
] |
|||
take-tokens: function [ |
|||
"Ask the user to take between 1 and 3 tokens." |
|||
][ |
|||
forever [ |
|||
n: trim ask "Would you like to take 1, 2, or 3 tokens (q to quit)? " |
|||
if n = "q" [quit] |
|||
n: try [to-integer n] |
|||
case [ |
|||
not integer? n [print "Please enter an integer."] |
|||
any [n < 1 n > 3] [print "Please enter a number between 1 and 3."] |
|||
true [return n] |
|||
] |
|||
] |
|||
] |
|||
tokens: 12 |
|||
while [tokens > 0][ |
|||
print ["There are" tokens "tokens remaining."] |
|||
n: take-tokens |
|||
print ["You took" n "tokens."] |
|||
tokens: tokens - n |
|||
print ["Computer takes" 4 - n "tokens."] |
|||
tokens: subtract tokens subtract 4 n |
|||
] |
|||
print "Computer wins!"</lang> |
|||
{{out}} |
|||
<pre> |
|||
There are 12 tokens remaining. |
|||
Would you like to take 1, 2, or 3 tokens (q to quit)? 2 |
|||
You took 2 tokens. |
|||
Computer takes 2 tokens. |
|||
There are 8 tokens remaining. |
|||
Would you like to take 1, 2, or 3 tokens (q to quit)? 3 |
|||
You took 3 tokens. |
|||
Computer takes 1 tokens. |
|||
There are 4 tokens remaining. |
|||
Would you like to take 1, 2, or 3 tokens (q to quit)? 4 |
|||
Please enter a number between 1 and 3. |
|||
Would you like to take 1, 2, or 3 tokens (q to quit)? apple |
|||
Please enter an integer. |
|||
Would you like to take 1, 2, or 3 tokens (q to quit)? 1 |
|||
You took 1 tokens. |
|||
Computer takes 3 tokens. |
|||
Computer wins! |
|||
</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |