level 1
贴吧用户_0XEe5JK
楼主
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#define W 54
#define H 55
char cal[H*W]={0};
char New[H][W]={0};
enum
{
black=0,red,green,yellow,blue,purple,cyan,white
//颜色代号
};
void princ()
{
for (int i=0;i<H*W;i++)
New[0][i]=cal[i]>1?cal[i]>2?cal[i]==3:New[0][i]:0;
}
void prj()
{
for (int i=0;i<H;i++)
for (int j=0;j<W;j++)
{
cal[i*W+j]=New[(H+i-1)%H][j]+
New[(i+1)%H][j]+New[i][(W+j-1)%W]
+New[(H+i-1)%H][(W+j-1)%W]+New[(i+1)%H][(W+j-1)%W]
+New[(H+i-1)%H][(j+1)%W]
+New[i][(j+1)%W]+New[(i+1)%H][(j+1)%W];
}
}
void project()//规则
{
princ();
//计算单元格周围细胞数量(b3/s23)。
prj();
//新细胞的位置
}
void printscreen()//屏幕显示
{
int i,j;
usleep(50000);//刷新周期
gotoxy(0,0);//光标回到开始,或者用 system("clear");
for (i=0;i<H;i++)
{
for (j=0;j<W;j++)
printf("\e[4%d;1m ",New[i][j]*cal[i*W+j]);
//"\e[前景色;亮度m"
printf ("\n");
}
printf ("\n\e[0m\n");
//取消颜色显示
}
void rando()
{
for (int i=0;i<H*W;i++) cal[i]=rand()%8;
//随机生成开局图案*/
}
main(void )
{
srand((unsigned )time(0));
//以时间为种子,生成伪随机数。
rando();//随机开局
while (1)//运行过程
{
printscreen();
project();
}
}

2018年08月30日 16点08分
1
#include<conio.h>
#include<time.h>
#define W 54
#define H 55
char cal[H*W]={0};
char New[H][W]={0};
enum
{
black=0,red,green,yellow,blue,purple,cyan,white
//颜色代号
};
void princ()
{
for (int i=0;i<H*W;i++)
New[0][i]=cal[i]>1?cal[i]>2?cal[i]==3:New[0][i]:0;
}
void prj()
{
for (int i=0;i<H;i++)
for (int j=0;j<W;j++)
{
cal[i*W+j]=New[(H+i-1)%H][j]+
New[(i+1)%H][j]+New[i][(W+j-1)%W]
+New[(H+i-1)%H][(W+j-1)%W]+New[(i+1)%H][(W+j-1)%W]
+New[(H+i-1)%H][(j+1)%W]
+New[i][(j+1)%W]+New[(i+1)%H][(j+1)%W];
}
}
void project()//规则
{
princ();
//计算单元格周围细胞数量(b3/s23)。
prj();
//新细胞的位置
}
void printscreen()//屏幕显示
{
int i,j;
usleep(50000);//刷新周期
gotoxy(0,0);//光标回到开始,或者用 system("clear");
for (i=0;i<H;i++)
{
for (j=0;j<W;j++)
printf("\e[4%d;1m ",New[i][j]*cal[i*W+j]);
//"\e[前景色;亮度m"
printf ("\n");
}
printf ("\n\e[0m\n");
//取消颜色显示
}
void rando()
{
for (int i=0;i<H*W;i++) cal[i]=rand()%8;
//随机生成开局图案*/
}
main(void )
{
srand((unsigned )time(0));
//以时间为种子,生成伪随机数。
rando();//随机开局
while (1)//运行过程
{
printscreen();
project();
}
}
