#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a[11][11]={{0},{0,1,1,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,1,0,1,0,0,0,0},{0,1,1,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,1,0,1,0,0,0,0}};
int b[11][11];
int i,j,m;
char ch;
printf("生命游戏:\n");
do {
for(i=1;i<8;i++)
{
for(j=1;j<8;j++)
if(a[i][j]==1)
printf("*");
else
printf(" ");
printf("\n");
}
for(i=1;i<8;i++)
for(j=1;j<8;j++)
{
m=a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j-1]+a[i][j+1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1];
//printf("i=%d,j=%d, m=%d\n",i,j,m);
if ((m==2) || (m==3))
b[i][j]=1;
else
b[i][j]=0;
}
for(i=1;i<8;i++)
for(j=1;j<8;j++)
a[i][j]=b[i][j];
printf("按q键退出,其他继续...");
ch=getchar();
if (ch=='q')
break;
} while (1) ;
system("PAUSE");
return EXIT_SUCCESS;
}