上传者: jalinliy
|
上传时间: 2021-10-08 22:08:05
|
文件大小: 11KB
|
文件类型: -
/**
* 功能:生命棋游戏(一个细胞周围有8个细胞)
* 规则:1. 如果一个细胞周围有3个细胞为生,则该细胞为生
* (即该细胞若原先为死,则转为生,若原先为生,则保持不变)
* 2. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
* 3. 在其它情况下,该细胞为死
* (即该细胞若原先为生,则转为死,若原先为死,则保持不变)
*
* 编程主要思想是:每一个细胞对应窗口中的一个JButton按钮jBCell[i][j],
* 每一个jBCell[i][j]对应一个二维数组元素cell[i][j]和
* 一个二维数组元素oldcell[i][j],cell用来更新oldcell,
* 定义一个 2行8列矩阵way[][]={{1,1,1,0,0,-1,-1,-1},
* {1,0,-1,1,-1,1,0,-1}}
* 通过 for (int k=0;k<8;k++)
{
int lx=i+way[0][k];
int rx=j+way[1][k];
if (lx<0||rx99||rx>99)
continue;
if (cell[lx][rx]>0)
sum++;
}
循环,就可以把一个细胞周围的活细胞数量统计出来,从而
确定该细胞下一状态,
确定一边所有细胞的状态后,通过改变jBCell[][]的图标来反应
整个生命棋游戏的运行状态
用Thread.sleep(100);来动态呈现在窗体上
*/