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