#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<time.h>#define High 25
#define Width 50          //游戏画面的尺寸int cells[High][Width];    //所有位置细胞生为1,死亡为0void gotoxy(int x,int y)    //将光标移到(x,y)位置
{HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);COORD pos;pos.X = x;pos.Y = y;SetConsoleCursorPosition(handle,pos);
}void startup()              //数据的初始化
{int i,j;for(i = 0; i < High; i++)for(j = 0; j < Width; j++){cells[i][j] = 1;}
}void show()                 //显示画面
{gotoxy(0,0);            //光标移动到原点位置,以下重画清屏int i,j;for(i = 0; i <= High; i++){for(j = 0; j <= Width; j++){if(cells[i][j] == 1)printf("*");    //输出活细胞elseprintf(" ");     //输出死细胞
    }printf("\n");}Sleep(50);
}void updateWithoutInput()       //与用户输入无关的更新
{int NewCells[High][Width];int NeibourNumber;int i,j;for(i = 1; i <= High-1; i++)for(j = 1; j <= Width-1; j++){NeibourNumber = cells[i-1][j-1]+cells[i-1][j]+cells[i-1][j+1]+cells[i][j-1]+cells[i][j+1]+cells[i+1][j-1]+cells[i+1][j]+cells[i+1][j+1];if(NeibourNumber == 3)NewCells[i][j] = 1;else if(NeibourNumber == 2)NewCells[i][j] = cells[i][j];elseNewCells[i][j] = 0;}for(i = 1; i <= High-1; i++)for(j = 1; j <= Width-1; j++)cells[i][j] = NewCells[i][j];
}void updateWithInput()          //与用户输入有关的更新
{}int main()
{startup();while(1){show();updateWithoutInput();updateWithInput();}return 0;
}

转载于:https://www.cnblogs.com/JAYPARK/p/10273336.html

C语言——生命游戏(进阶相关推荐

  1. 细胞生命游戏一维c语言,生命游戏一维细胞自动机 笔记

    de 生命游戏是一种简单的聚合模型,展示了事物是如何聚合的,是自动机(CA)模型的一种.由剑桥大学约翰康威发明,其规则为: 1. 每个细胞拥有八个邻居,细胞状态只有存活(黑)和死亡(白)两种: 2.处 ...

  2. 细胞生命游戏一维c语言,生命游戏 细胞死亡问题

    [c]代码库#include #include #include #define MAXROW 10 #define MAXCOL 25 #define DEAD 0 #define ALIVE 1 ...

  3. C语言——生命游戏(初始

    #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<windows.h> # ...

  4. c语言生命游戏代码大全,c++生命游戏源码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 glViewport( 0, 0, width, height ); glMatrixMode( GL_PROJECTION ); glLoadIdent ...

  5. Go语言生命游戏 GameofLife GOL

    目录 CSA Coursework: Game of Life Task Overview Introduction Skeleton Code Stage 1 - Parallel Implemen ...

  6. 伍六七带你学算法 进阶篇-生命游戏

    有趣的算法题–生命游戏 难度-中等 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 想要体验生命游戏的小伙伴可以到这里-->生命游戏 进入 ...

  7. c语言设计生命游戏,C语言实现生命游戏.doc

    C语言实现生命游戏 本世纪70年代,人们曾疯魔一种被称作"生命游戏"的小游戏,这种游戏相当简单.假设有一个像棋盘一样的方格网,每个方格中放置一个生命细胞,生命细胞只有两种状态:&q ...

  8. Go语言模拟康威生命游戏Conway‘s Game of Life

    康威生命游戏是一种很有意思的游戏,显示的是细胞的生死状态取决于周边细胞(相邻8个细胞)的存活状态,是一种模拟生命的演化过程. 反过来看,还可模拟病毒的传染,患者传染给接触者,也可以设定概率,另外是否戴 ...

  9. C语言零基础项目:生命游戏!详细思路+源码分享

    每天一个C语言小项目,提升你的编程能力! 程序简介 生命游戏也叫康威生命游戏.细胞自动机.元胞自动机等. 生命游戏不需要任何玩家,它是一个二维矩形世界,这个世界中的每个方格居住着一个活细胞或为空. 一 ...

最新文章

  1. keras lstm 层理解
  2. 成功解决ImportError: cannot import name 'PILLOW_VERSION'
  3. js获取页面的各种高度与宽度
  4. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波13 - 平滑低通滤波器 -盒式滤波器核
  5. android 开发 短信,Android开发之短信发送
  6. Google Android操作系统内核编译图文教程
  7. 小米卢伟冰回应“低价误国”言论:华为是中国企业“低价”战略的榜样
  8. 读书笔记五:TCP/IP详解之RARP逆地址解析协议
  9. TCP 三次握手 四次挥手
  10. 5.Shell 编程从入门到精通 --- 基本文本处理
  11. js tree选中子集默认选中上级_原生js实现轮播图(两种方法)
  12. astah-professional 证书
  13. (VUM验证学习11) 使用ahb vip对GPIO进行验证框架搭建,寄存器模型集成和测试点拆解编写
  14. 论文心得:BatchNorm及其变体
  15. 鼎铛有耳 智能硬件供应链新一代“网红”诞生 ——第三届HCFT智能硬件供应链大会品牌盛会颁奖典礼在深成功举办...
  16. 读文可以学计算机吗,学计算机的必须读的文章(范文).doc
  17. iapp获取桌面壁纸
  18. 如何PHP给人生日祝福,送给网友的生日祝福语 朋友的祝福语
  19. API登录接口文档事例
  20. 快递查询方法,一键查询全部快递的物流信息

热门文章

  1. 判断字符串是否为回文
  2. 算法设计分析之------ 递推与递归篇二
  3. 我爱我家2020年业绩下降六成:规模远不及贝壳,多名股东开启减持
  4. leftmargin topmargin marginheight marginwidth
  5. tomcat启动maven项目报错,严重: Error configuring application listener of class org.springframework.web.contex
  6. “质量革命”背后:瓜子二手车的底层逻辑与战略选择
  7. websocket协议详解与抓包分析
  8. http劫持什么意思、网站升级HTTPS彻底解决http劫持问题
  9. Topaz ReMask 5抠图神器,让抠图变得so easy
  10. 机器人的舞蹈(hdu 2232)