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:"); gets(name[0]); printf("player 2:"); gets(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]); // getch(); // return 0; }
課題
勝者の名前、対戦記録をファイルに記録するように改造してください。記録ファイル名は、nim.scrとする。
例:
====================================
Input players’ names
player 1:tom
player 2:mary
…
Now winner is mary!!
====================================
nim.c、nim.scr と実行画面のコピーを提出してください。