您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 生命游戏c语言源代码
#includestdio.h#includestdlib.h#definehs10//这能改行数#definels10//这能改列数#definetiaojian12//这里可改周围几个细胞时存活#definetiaojian23//这里可改周围几个细胞时繁殖intworld[hs][ls];voidshuru(int[hs][ls]);//为数组赋初始值voidshuchu(int[hs][ls]);//提供输出inthuanjin(int,int);//计算周围细胞数voidjisuanweilai(int[hs][ls]);//计算未来voidchashou(int[hs][ls]);//运行后插手杀死或复活某些细胞intmain(void){printf(生命游戏\n);printf(默认世界大小10*10,世界大小及规则代码定义中可改\n);printf(输入需要添加细胞的点的坐标,添加完成后输入一组负数坐标即可终止输入\n);inti,j;for(i=0;ihs;i++)for(j=0;jls;j++)world[i][j]=0;//1为生0为死归零shuchu(world);shuru(world);shuchu(world);system(pause);while(1){chari;jisuanweilai(world);shuchu(world);printf(继续按回车,插手按a,终止按b\n);i=getchar();if(i=='\n');elseif(i=='a'){chashou(world);shuchu(world);system(pause);}elsebreak;}system(pause);return0;}voidshuru(intworld[hs][ls]){inti,j;while(1){scanf(%d%d,&i,&j);if(i0||j0)break;//任意为负终止输入elseif(i=hs||j=ls){printf(输入数据超范围\n);}world[i][j]=1;//1为生0为死}}voidshuchu(intworld[hs][ls]){inti,j,k=0;for(i=0;ils;i++)//第一行表头{printf(%d,i);}printf(\n);printf(┌);//第二行for(i=0;ils-1;i++){printf(─┬);}printf(─┐\n);for(i=0;ihs;i++)//第3至倒数第二行{printf(%d│,i);for(j=0;jls;j++){if(world[i][j]==1){printf(●│);k++;}elseprintf(○│);}printf(\n);if(i==hs-1)break;printf(├);for(j=0;jls-1;j++){printf(─┼);}printf(─┤\n);}printf(└);for(i=0;ils-1;i++)printf(─┴);printf(─┘\n);printf(现有%d个存活细胞\n,k);}inthuanjin(inth,intl){intsum=0,i,j;for(i=h-1;i=h+1;i++){for(j=l-1;j=l+1;j++){if(i0||i=hs)continue;if(j0||j=ls)continue;if(i==h&&j==l)continue;if(world[i][j]==1)sum++;}}returnsum;}voidjisuanweilai(intworld[hs][ls]){inti,j,k;for(i=0;ihs;i++){for(j=0;jls;j++){k=huanjin(i,j);switch(k){casetiaojian1:break;casetiaojian2:world[i][j]=1;break;default:world[i][j]=0;break;}}}}voidchashou(intworld[hs][ls]){inti,j;printf(加入要复活的细胞坐标,添加完成后输入一组负数坐标即可终止输入\n);while(1){scanf(%d%d,&i,&j);if(i0||j0)break;//任意为负终止输入elseif(i=hs||j=ls){printf(输入数据超范围\n);}world[i][j]=1;//1为生0为死}printf(加入要杀死的细胞坐标,添加完成后输入一组负数坐标即可终止输入\n);while(1){scanf(%d%d,&i,&j);if(i0||j0)break;//任意为负终止输入elseif(i=hs||j=ls){printf(输入数据超范围\n);}world[i][j]=0;//1为生0为死}}
本文标题:生命游戏c语言源代码
链接地址:https://www.777doc.com/doc-5609413 .html