Nim game

You are encouraged to solve this task according to the task description, using any language you may know.
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 human player goes first, and the computer always wins. The game should enforce the rules.




 
#include  <stdio.h>
 
int playerTurn(int numTokens, int take);
int computerTurn(int numTokens);
 
int main(void)
{
	printf("Nim Game\n\n");
 
	int Tokens = 12;
 
	while(Tokens > 0)
	{
		printf("How many tokens would you like to take?: ");
 
		int uin;
		scanf("%i", &uin);
 
		int nextTokens = playerTurn(Tokens, uin);
 
		if (nextTokens == Tokens)
		{
			continue;
		}
 
		Tokens = nextTokens;
 
		Tokens = computerTurn(Tokens);
	}
	printf("Computer wins.");
 
	return 0;
}
 
int playerTurn(int numTokens, int take)
{
	if (take < 1 || take > 3)
	{
		printf("\nTake must be between 1 and 3.\n\n");
		return numTokens;
	}
	int remainingTokens = numTokens - take;
 
	printf("\nPlayer takes %i tokens.\n", take);
	printf("%i tokens remaining.\n\n", remainingTokens);
 
	return remainingTokens;
}
 
int computerTurn(int numTokens)
{
	int take = numTokens % 4;
	int remainingTokens = numTokens - take;
 
	printf("Computer takes %u tokens.\n", take);
	printf("%i tokens remaining.\n\n", remainingTokens);
 
	return remainingTokens;
}
 