#include #include #define FieldSize 20 #define TimeMax 20 /************************************************************************ フィールドの初期化 (ファイルの読み込み) ************************************************************************/ void init_field(int field[FieldSize][FieldSize], char *fname){ int i,j; FILE *fp; if((fp=fopen(fname,"r"))==NULL){ printf("init_field(): Cannot open \"%s\"\n",fname); exit(1); } for(i=0;i=FieldSize){ continue; } if(j_tmp<0 || j_tmp>=FieldSize){ continue; } sum+=field[i_tmp][j_tmp]; } } return sum; } /************************************************************************ 状態の更新 ************************************************************************/ void update_field(int field[FieldSize][FieldSize]){ int i,j; int around; /* 周囲の8マスのうち状態が1であるものの数 */ int new_field[FieldSize][FieldSize]; /* 次の状態 */ for(i=0;i