基本信息
源码名称:模拟生命
源码大小:5.70KB
文件格式:.py
开发语言:Python
更新时间:2022-02-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
规则: 每个细胞有两种状态-存活ON或死亡OFF,每个细胞与以自身为中心的周围八格细胞产生互动。(请想象九宫格) 1)人口过少:当周围低于2个(不包含2个)存活细胞时, 本单元活细胞死亡。 2)稳定:当周围有2个或3个存活细胞时, 本单元细胞保持原样。 3)人口过剩:当周围有3个以上的存活细胞时,本单元活细胞死亡。 4)繁殖:当周围有3个存活细胞时,本单元细胞存活/活化。 运行效果:(Conway产生图案包括:滑翔机、眨眼、ON和OFF)
def update(frameNum, img, grid, N): newGrid = grid.copy() for i in range(N): for j in range(N): total = int((grid[i, (j - 1) % N] grid[i, (j 1) % N] grid[(i - 1) % N, j] grid[(i 1) % N, j] grid[(i - 1) % N, (j - 1) % N] grid[(i - 1) % N, (j 1) % N] grid[(i 1) % N, (j - 1) % N] grid[ (i 1) % N, (j 1) % N]) / 255) # 因为需要检测网格的 8个边缘。更简洁的方式是用取模(%)运算符,可以用这个运算符让值在边缘折返 # Conway实现规则 :生命游戏的规则基于相邻细胞的 ON 或 OFF 数目。为了简化这些规则的应用,可以计算出处于 ON 状态的相邻细胞总数。 if grid[i, j] == ON: if (total < 2) or (total > 3): newGrid[i, j] = OFF else: if total == 3: newGrid[i, j] = ON # update data img.set_data(newGrid) grid[:] = newGrid[:] return img,