作者为编程萌新,如有不正之处,恳请大家多多指教!

同样的,先介绍一下生命游戏:

游戏开始时,每个细胞随机地设定为“生”或“死”之一的某个状态。然后,根据某种规则,计算出下一代每个细胞的状态,画出下一代细胞的生死分布图。

应该规定什么样的迭代规则呢?需要一个简单的,但又反映生命之间既协同又竞争的生存定律。为简单起见,最基本的考虑是假设每一个细胞都遵循完全一样的生存定律;再进一步,把细胞之间的相互影响只限制在最靠近该细胞的8个邻居中。

也就是说,每个细胞迭代后的状态由该细胞及周围8个细胞状态所决定。作了这些限制后,仍然还有很多方法来规定“生存定律”的具体细节。例如,在康威的生命游戏中,规定了如下生存定律。

(1)当前细胞为死亡状态时,当周围有3个存活细胞时,则迭代后该细胞变成存活状态(模拟繁殖);若原先为生,则保持不变。

(2)当前细胞为存活状态时,当周围的邻居细胞低于两个(不包含两个)存活时,该细胞变成死亡状态(模拟生命数量稀少)。

(3)当前细胞为存活状态时,当周围有两个或3个存活细胞时,该细胞保持原样。

(4)当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态(模拟生命数量过多)。

可以把最初的细胞结构定义为种子,当所有种子细胞按以上规则处理后,可以得到第1代细胞图。按规则继续处理当前的细胞图,可以得到下一代的细胞图,周而复始。

——————百度百科

代码的原理我已经在另一篇文章说了,直接上代码:

goboard=[[i for j in range(19)]for i in range(19)]        #定义棋盘
for a in range(19):                                       #初始化for b in range(19):goboard[a][b]=0print("please put in some number to initialize the goboard")
goboard[6][6]=1                       #赋初值样例(滑翔机)暂未实现人机交互
goboard[6][7]=1
goboard[6][8]=1
goboard[4][7]=1
goboard[5][8]=1
passfor a in range(19):                                       #打印初始棋盘for b in range(19):print(goboard[a][b],end="")print("")goboard2=[[m for n in range(19)]for m in range(19)]       #设置一变量棋盘
for a in range(19):                                       #初始化2for b in range(19):goboard2[a][b]=0for x in range(10):                                       #自定义循环次数for a in range(1,17,1):for b in range(1,17,1):c=goboard[a+1][b]d=goboard[a-1][b]e=goboard[a][b+1]f=goboard[a][b-1]g=goboard[a+1][b+1]h=goboard[a+1][b-1]k=goboard[a-1][b+1]l=goboard[a-1][b-1]if (c+d+e+f+g+h+k+l)==3:goboard2[a][b]=1elif (c+d+e+f+g+h+k+l)==2:goboard2[a][b]=goboard[a][b]else:goboard2[a][b]=0y=(input())for a in range(19):                                     #打印棋盘for b in range(19):print(goboard2[a][b],end="")print("")for a in range(19):                                     #棋盘转换for b in range(19):goboard[a][b]=goboard2[a][b]

如果两种语言都会的可以对比一下,完全一模一样。只会python的可以参考这篇文章。

生命游戏(python版)相关推荐

  1. 24点游戏python版

    24点游戏python版 问题描述与规则 24点游戏是经典的纸牌益智游戏.常见游戏规则:从扑克中每次取出4张牌.使用加减乘除,第一个能得出24者为赢.(其中,J代表11,Q代表12,K代表13,A代表 ...

  2. 康威生命游戏简易版python_turtle实现

    以下资料引用至百度百科 ​ 康威生命游戏(Game of Life),剑桥大学约翰·何顿·康威设计的计算机程序. 概述: 生命游戏没有游戏玩家各方之间的竞争,也谈不上输赢,可以把它归类为仿真游戏.事实 ...

  3. 生命游戏(Java版)

    游戏简介 生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出 某细胞的邻居包括上.下.左.右.左上.左下.右上与右下相邻之细胞 游戏规则如下: 孤单死亡 如果细 ...

  4. linux生命游戏实现,模拟生命——Conway生命游戏python实现(详细注释笔记)

    规则: 每个细胞有两种状态-存活ON或死亡OFF,每个细胞与以自身为中心的周围八格细胞产生互动.(请想象九宫格) 1)人口过少:当周围低于2个(不包含2个)存活细胞时, 本单元活细胞死亡. 2)稳定: ...

  5. Conway‘s Game of Life - Unlimited Edition(康威生命游戏-无限版)

    最近也不知道在忙啥,反正好久没玩 codewars 了,上去看看的时候偶尔看到了一个很有意思的题目,稍微看了一下说明,感觉可以做出来,于是就开始了长达 2+2 个小时的解题过程. 下面是简单的题目说明 ...

  6. HangMan 猜单词 一个简易的吊死鬼游戏 python版

    一个很简单的猜单词游戏. 你的机会是有限的,你每猜错一次,你要拯救的小人就出现一部分. 当整个小人出现的时候,游戏结束,你便看到了惨象:一个吊死的屌丝! 可以把单词换成你每天背的单词,便于复习... ...

  7. 生命游戏c++版代码

    https://github.com/runman33/my-travel-plans/new/master 上面是github仓库地址,需要可以自行fork

  8. 201712-2 CCF认证考试 游戏 Python版

    第一题最小差值 满分答案: n,k = map(int,input().split()) m = n num = [[0 for i in range(2)]for j in range(n)] co ...

  9. 【生命游戏】纯前端web版,可在线体验

    前言 关于[生命游戏]之前小编写发过一篇Java版的,这里就不再对其介绍了,不了解的读者可以点下方链接前往了解: https://blog.csdn.net/weixin_44155115/artic ...

  10. turtle实例6 生命游戏

    生命游戏 百科 细胞自动机(又称元胞自动机),名字虽然很深奥,但是它的行为却是非常美妙的.所有这些怎样实现的呢?我们可以把计算机中的宇宙想象成是一堆方格子构成的封闭空间,尺寸为N的空间就有NN个格子. ...

最新文章

  1. 语义分割--Efficient Deep Models for Monocular Road Segmentation
  2. Spark详解(七):SparkContext源码分析以及整体作业提交流程
  3. mysqldump: command not found
  4. 跨库查询(OpenDataSource)与链接服务器(Linking Server)
  5. c语言语法分析源程序,深入浅出编译原理-5-一个简单语法分析器的C语言实现
  6. 20145212 《信息安全系统设计基础》第3周学习总结
  7. Android:最全面的 Webview 详解
  8. 基于JAVA+SpringMVC+MYSQL的自动排课系统
  9. 云原生落地困挑战无处不在?我选Serverless
  10. jdbc 连接 mysql 时的中文乱码问题
  11. svm中的数学和算法
  12. 万能五笔输入法@相反
  13. 数控编程球面计算机,Mastercam9.1的数控编程
  14. 一三五、服务器部署Node项目、Vue spa静态项目、ssr项目
  15. 视频必备资源:免费音效素材下载
  16. Python之爬虫之BeautifulSoup学习
  17. 政务区块链平台设计思路
  18. 浅谈大学参加程序竞赛
  19. 枚举.........
  20. 趣味端午节,我的端午互动小平台

热门文章

  1. Windows phone 7中关于Zune软件使用几个问题
  2. Win32反汇编(四)栈的工作原理与堆栈平衡,函数方法参数的调用约定
  3. 利用StretchDIBits、CreateDIBSection、CreateDIBitmap三种方法显示内存位图
  4. java redis令牌桶_redis实现的简单令牌桶
  5. 欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 最新版本:20110222
  6. 报童问题详细推导及利用Python的SAA方法求解
  7. ADT下载地址(含各版本),最新ADT-23.0.7
  8. word文件转pdf转换器11.0注册码
  9. oracle公司财务管理课程设计,Oracle财务管理系统培训手册—资产模块(FA).doc
  10. Duilib--->Duilib库介绍总结概述