Nim game

Nim game

ニム (nim) は、2人で行うレクリエーション数学ゲームの1つである。ルーツは古代中国からあるとされ、16世紀初めの西欧で基本ルールが完成したが、名前については、一般的に1901年ハーバード大学のチャールズ・L.バウトン (Charles L. Bouton) によって名付けられたとされる。

ゲームルール:

一人1個か2個か3個か4個だけ取れて、交互にやっていって、
最後の1個の石を取った人が負けとなります。

#include <stdio.h>

int main(void)
{
  int i, stone, n=0, turn=0;
  char name[2][256];

  printf("Input players' names\n");

  printf("player 1:");
  scanf("%s", name[0]);
  printf("player 2:");
  scanf("%s", name[1]);

  printf("\nnumber of stones:");
  scanf("%d", &stone);

  while (stone > 0){
    printf("\nThere are %d stones.\n", stone);
    printf("%s's turn! Take some stones:", name[turn]);
    while (n < 1 || n > 4) scanf("%d", &n); //取る石の数を制限1..4
    stone -= n;
    turn = 1 - turn;
    n = 0;
  }

  printf("\nNow winner is %s!!\n", name[turn]);

  return 0;
}