C++ 实现生命游戏 Live Game
admin
2024-05-24 00:08:53
0

#include"stdlib.h"

#include"time.h"

#include"unistd.h"

using namespace std;

#define XSIZE 80

#define YSIZE 30

#include"iostream"

using namespace std ;

// 初始化生命

void initLive(int a[YSIZE][XSIZE])

{

// 初始化边界

for(int i=0;i

{

a[i][0]=0;

a[i][XSIZE-1]=0;

}

for(int i=0;i

{

a[0][i]=0;

a[YSIZE-1][i]=0;

}

for(int i=1;i

{

for(int j=1;j

{

a[i][j]=rand()%2;

}

}

}

// 清空

void clear(int a[YSIZE][XSIZE])

{

for(int i=0;i

{

for(int j=0;j

{

a[i][j]=0;

}

}

}

// 监测8个方格

int getSum(int a[YSIZE][XSIZE],int y,int x)

{

int sum=0;

sum+=a[y+1][x];

sum+=a[y-1][x];

sum+=a[y][x+1];

sum+=a[y][x-1];

sum+=a[y+1][x+1];

sum+=a[y-1][x+1];

sum+=a[y+1][x-1];

sum+=a[y-1][x-1];

return sum;

}

// 从a状态生成到b中

void nextStatus(int b[YSIZE][XSIZE],int a[YSIZE][XSIZE])

{

int sum=0;

for(int i=1;i

{

for(int j=1;j

{

sum=getSum(a,i,j);

// 测试四种状态

if(a[i][j]==0 and sum==3)

{

b[i][j]=1;

}

else if(a[i][j]==1 and sum<2)

{

b[i][j]=0;

}else if(a[i][j]==1 and sum>3)

{

b[i][j]=0;

}

else if(a[i][j]==1 and (sum==2 or sum==3))

{

b[i][j]=1;

}

}

}

}

// 打印

void printer(int a[YSIZE][XSIZE])

{

for(int i=0;i

cout<<"--";

cout<

for(int i=0;i

{

for(int j=0;j

{

if(a[i][j]>0)

{

cout<<"国";

}

else

{

cout<<" ";

}

}

cout<

}

// usleep(1000000);

usleep(100000);

}

int main(){

// 设置随机种子

srand(time(NULL));

int a[YSIZE][XSIZE];

int b[YSIZE][XSIZE];

initLive(a);

clear(b);

while (true)

{

// 生成下一种状态

nextStatus(b,a);

// 打印状态

printer(b);

// 清空上一次的状态

clear(a);

nextStatus(a,b);

printer(a);

clear(b);

}

}

相关内容

热门资讯

关于传达拿破仑精神的小故事 关于传达拿破仑精神的小故事乐观的拿破仑拿破仑在一次与敌军作战时,遭遇顽强的抵抗,队伍损失惨重,形势非...
手机害人的名言警句? 手机害人的名言警句?手机害人吗?那平时我们所用的物品哪一件没有可能让我们受伤甚至失去生命?每一件物品...
活得更漂亮的女人,是不是要先学... 活得更漂亮的女人,是不是要先学会享受孤独呢?是的。习惯孤独的女人更容易获得成功,活得也会更漂亮。也不...
2人可以说各位吗? 2人可以说各位吗?主要是你这两个人包括你自己吗?如果包括,各位这个词就不太合适。如果不包括,这个词勉...
立春时节养生有哪些需要注意的? 立春时节养生有哪些需要注意的?立春时节又来临了,在这个时节养生需要注意哪些问题呢?立春养生应多吃有热...
生男生女秘密 生男生女秘密男女都一样啊
破密码猜成语 破密码猜成语每句成语前有一个密码数字,它代表成语中的字的笔画数,将破译出的字写成成语,再将此成语作为...
青春之歌优美句子赏析? 青春之歌优美句子赏析?1、乘客们吸足了新鲜空气,看车外看得腻烦了,一个个都慢慢回过头来,有的打着呵欠...
十万火急!谁有歌唱黄河的演讲稿... 十万火急!谁有歌唱黄河的演讲稿子复制的不要拿出写的参考资料和建议也行1啊!黄河以它英雄的气魄,出现在...
蒙古族有什么传奇故事 蒙古族有什么传奇故事 出自《蒙古族的神话人物英雄史诗》中《喜热图莫尔根汗》流传在呼伦贝尔、哲里木...
老师说过女生最不应该做长舌妇,... 老师说过女生最不应该做长舌妇,有道理吗有道理,你去农村看看,这是一场多人,没事干,你就一天需要家家长...
临近毕业,不想和他分开想和他关... 临近毕业,不想和他分开想和他关系一直好下去该怎么做?就算毕业了也可以做朋友哇!毕业之后,可能你们两个...
有些情侣经常就会吵架,这是为什... 有些情侣经常就会吵架,这是为什么呢?因为两个人在一起总是会有一定的摩擦,再加上两个人都非常的强势,谁...
伤心的眼泪 原唱是谁 伤心的眼泪 原唱是谁ukk777
帕尔纳索斯山寓言故事告诉我们什... 帕尔纳索斯山寓言故事告诉我们什么道理?我说你什么冬天能送道理就是那样,你该怎么弄就怎么办?反正就是弄...
哪些小说名字有至尊 哪些小说名字有至尊哪些小说名字有至尊至尊修仙系统
如何在组织儿童活动时利用“优势... 如何在组织儿童活动时利用“优势原则”、“镶嵌式活动原则”和“动力定型”?大脑的最外一层称为大脑皮质。...
求一部小说,是女主穿越到宋朝,... 求一部小说,是女主穿越到宋朝,然后女主女扮男装进入开封府,在包拯手下任职。女主角做事大条,又一心眼我...
魔兽世界 影之利刃 魔兽世界 影之利刃现在网上有这把紫色斧子的属性,据说可以升级到橙色的影子哀伤。但是至于其掉落,我查...
红楼梦中林黛玉和宝玉的前世是怎... 红楼梦中林黛玉和宝玉的前世是怎样的关系林黛玉是绛珠仙子,宝玉是神瑛侍者。前世在绛珠草还是草的时候,神...