0x02 背景
这个游戏也叫康威生命游戏、细胞自动机、元胞自动机,是一个二维矩阵世界的零玩家游戏。在游戏的进行中,杂乱无序的细胞会逐渐演化出各种精致、有形的结构;这些结构往往有很好的对称性,而且每一代都在变化形状。一些形状已经锁定,不会逐代变化。有时,一些已经成形的结构会因为一些无序细胞的“入侵”而被破坏。但是形状和秩序经常能从杂乱中产生出来。
生命游戏被许多计算机程序实现了。Unix 世界中的许多 Hacker 喜欢玩这个游戏,他们用字符代表一个细胞,在一个计算机屏幕上进行演化。著名的GNUEmacs 编辑器中就包括这样一个小游戏。
本例始作于五一假期,在家吃着西瓜,突然在 B 站刷到这个话题,印象深刻,后面就抽空写了这个 DEMO ,写完发现 LeetCode 也有这个,就当是刷了个题,然此处实现有可视化界面展示,应该会比直接做原题更形象有趣罢。欢迎尝试。
0x03 游戏规则
-
每个细胞有两种状态:存活或者死亡
-
每个细胞只与以其自身为中心的细胞互动
-
当细胞为死亡状态
-
若周围有3个存活细胞,则该细胞变成存活状态(模拟繁殖)
-
当细胞为存活状态
-
若周围有2个或3个存活细胞保持原样
-
若周围有3个以上存活细胞,该细胞变成死亡(模拟极度拥挤)
-
若周围有低于2个以下存活细胞,该细胞死亡(模拟人口稀疏)
温馨提示:
查看完游戏规则后,滑到屏幕最下方
进到游戏页面 先点击 棋盘 设置 细胞初始图案,然后 开始,然后 结束。
(黑格子为存活细胞,白格子为死亡细胞)
0x04 图案预览
它周期为3,看起来像一颗爆发的星星
每4个回合它会沿着右下方移动一格
轻量级飞船:
它周期为4,每两个回合向右走一格
滑翔者枪:
它会不断的产生一个又一个 滑翔者
它会向右进行,留下一个接一个的 滑翔者枪
0x05 哈喽,Test 泰斯特!
最后,DEMO 基于 Cocos Creator 使用 JavaScript 代码开发,对代码感兴趣的盆友也可以找我要源码,再露脸一波刚通过备案的域名:
HackTrek.com
0x01 引言“道生一,一生二,二生三,三生万物。”0x02背景这个游戏也叫康威生命游戏、细胞自动机、元胞自动机,是一个二维矩阵世界的零玩家游戏。在游戏的进行中,杂乱无序的细胞会逐渐演化出各种精致、有形的结构;这些结构往往有很好的对称性,而且每一代都在变化形状。一些形状已经锁定,不会逐代变化。有时,一些已经成形的结构会因为一些无序细胞的“入侵”而被破坏。但是形状和秩序经...
int map[40][40]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
相信不少接触过C语言编成的同学都了解过“
生命
细胞机”这么一个有意思的
游戏
。这个
游戏
由英国数学家约翰·何顿·康威在1970年发明。上图所示即为
生命
细胞机一个非常经典的结构:“播种者”,他有很多个高斯帕滑翔机枪组成并且一直平移,所经过之处会产生许多个高斯帕滑翔机枪不断生成高斯帕滑翔机。
生命
游戏
中,对于任意细胞,规则如下:
每个细胞有两种状态 - 存活或死亡,每个细胞与以自身为中心的周围八格细胞产生互动
当前细胞为存活状态时,当周围的存活细胞低于2个时(不包含2个),该细胞变成死亡状态。(模拟
生命
数量稀少).