Nim game: Difference between revisions

1,343 bytes added ,  2 years ago
+add Pike
(v lang)
(+add Pike)
Line 2,056:
4 tokens remaining. How many tokens do you want to remove; 1, 2, or 3?:3. Computer takes 1.
0 tokens remaining. Computer wins.
</pre>
 
=={{header|Pike}}==
{{trans|Python}}
 
<lang Pike>int tokens = 12;
 
void get_tokens(int cur_tokens) {
write("How many tokens would you like to take? ");
int take = (int)Stdio.stdin->gets();
 
if (take < 1 || take > 3) {
write("Number must be between 1 and 3.\n");
get_tokens(cur_tokens);
}
else {
tokens = cur_tokens - take;
write("You take " + (string)take + " tokens\n");
write((string)tokens + " tokens remaing\n\n");
}
}
 
void comp_turn(int cur_tokens) {
int take = cur_tokens % 4;
tokens = cur_tokens - take;
write("Computer take " + (string)take + " tokens\n");
write((string)tokens + " tokens remaing\n\n");
}
 
int main() {
write("Pike Nim\n\n");
while(tokens > 0) {
get_tokens(tokens);
comp_turn(tokens);
}
write("Computer wins!\n");
return 0;
}</lang>
 
{{out}}
<pre>Pike Nim
 
How many tokens would you like to take? 2
You take 2 tokens
10 tokens remaing
 
Computer take 2 tokens
8 tokens remaing
 
How many tokens would you like to take? 6
Number must be between 1 and 3.
How many tokens would you like to take? -2
Number must be between 1 and 3.
How many tokens would you like to take? 1
You take 1 tokens
7 tokens remaing
 
Computer take 3 tokens
4 tokens remaing
 
How many tokens would you like to take? 3
You take 3 tokens
1 tokens remaing
 
Computer take 1 tokens
0 tokens remaing
 
Computer wins!
</pre>
 
Anonymous user