📄 bye.c
字号:
/*显示结束信息*/
void bye()
#define LIFE_WIDTH 100
#define LEFT 270
#define TOP 160
{
char orgData[LIFE_WIDTH][LIFE_WIDTH],
resData[LIFE_WIDTH][LIFE_WIDTH];/*分别记录每次迭代的初始和结果状态*/
int nCount,nRows,nCols,i,j,times; /*times记录迭代次数*/
for (i=0;i<LIFE_WIDTH;i++) /*初始化数据,令每一个细胞为生*/
for (j=0;j<LIFE_WIDTH;j++)
orgData[i][j]=(char)(random(100)<50);
setbkcolor(BLACK);
hz(190,60,16*2,2,YELLOW,"生命不息,");
hz(290,100,16*2,2,YELLOW,"奋斗不止!");
hz(120,300,16*2,2,BLUE,"作者:");
hz(150,340,16*2,2,BLUE,"电子系0203班 韩海");
setcolor(WHITE);
rectangle(LEFT,TOP,LEFT+LIFE_WIDTH,TOP+LIFE_WIDTH);
while(!kbhit())
{
for (nRows=1;nRows<LIFE_WIDTH-1;nRows++)
{
for (nCols=1;nCols<LIFE_WIDTH-1;nCols++)
{
/*计算每一个细胞周围的活的细胞数*/
nCount=orgData[nRows-1][nCols-1]+orgData[nRows-1][nCols]
+orgData[nRows-1][nCols+1]+orgData[nRows][nCols-1]
+orgData[nRows][nCols+1]+orgData[nRows+1][nCols-1]
+orgData[nRows+1][nCols]+orgData[nRows+1][nCols+1];
switch(nCount)
{
/*周围有3个活细胞,该细胞为生,在屏幕上用红色像素表示*/
case 3:
putpixel(nCols+LEFT,TOP+nRows,RED);
resData[nRows][nCols]=1;
break;
/*周围有2个活细胞,该细胞不变,在屏幕显示也不变*/
case 2:
resData[nRows][nCols]=orgData[nRows][nCols];
break;
/*其它情况下,细胞为死,在屏幕上用黑色像素表示*/
default:
resData[nRows][nCols]=random(300)==1;
putpixel(nCols+LEFT,TOP+nRows,BLACK);
}
}
}
for (i=1;i<LIFE_WIDTH-1;i++)
for (j=1;j<LIFE_WIDTH-1;j++)
orgData[i][j]=resData[i][j];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -