|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请教一下我的代码要怎么改才能运行呢?
0,0,0 0,1,0
1,1,1 如何变位 0,1,0
0,0,0 0,1,0
#include "jj.h"
#include <stdio.h>
#include <stdlib.h>
#define BOARD 3
char world[BOARD][BOARD] =
{
0,0,0,
1,1,1,
0,0,0
};
void game_run(char world[3][3], int nLive)
{
int i = 0, j = 0;
int nAliveCnt = 0;
int nContinue = 0;
int k=0;
for (i=0; i< 3; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d ", world[i][j]);
}
printf("\n");
}
printf("***********************************\n\n");
while (k<1)
{
for (i = 0; i < BOARD; i++)
{
for (j = 0; j < BOARD; j++)
{
nAliveCnt = 0;
if ((i-1>0)&&(j-1>0)&&(world[i-1][j-1]) > 0)
{
nAliveCnt++;
}
if ((i-1>0)&&(world[i-1][j]>0))
{
nAliveCnt++;
}
if ((j+1<BOARD)&&(i-1>0)&&(world[i-1][j+1] >0))
{
nAliveCnt++;
}
if ((j-1>0)&&(world[i][j-1]>0))
{
nAliveCnt++;
}
if ((j+1<BOARD)&&(world[i][j+1]>0))
{
nAliveCnt++;
}
if ((i+1<BOARD)&&(j-1>0)&&(world[i+1][j-1]>0))
{
nAliveCnt++;
}
if ((i+1<BOARD)&&(world[i+1][j]>0))
{
nAliveCnt++;
}
if ((i+1<BOARD)&&(j+1<BOARD)&&(world[i+1][j+1]> 0))
{
nAliveCnt++;
}
if ((world[i][j] == 0) && (nAliveCnt == 3))
{
world[i][j] = 1;
nLive++;
}
else if (world[i][j] == 1)
{
if (nAliveCnt != 2)
{
world[i][j] = 0;
nLive--;
}
}
}
}
for (i=0; i < 3; i++)
{
for (j =0; j < 3; j++)
{
printf("%d ", world[i][j]);
}
printf("\n");
}
printf("===========================\n");
k++;
} // end of while
}
int main()
{
printf("\n");
game_run(world, 3);
return 0;
}
|
|