神奇的生命游戏,是什么?
生命游戏
图片出处:bdtechtalks
生命游戏是一个零玩家游戏,展示了一个二维方格子世界,在每个方格子中居住者一个活着的或者死了的细胞,这些细胞按照生命游戏约定的规则进行模拟,显示的图像看起来颇似生命的出生、繁衍和死亡过程而得名为“生命游戏”。
生命游戏是由英国数学家约翰·何顿·康威(John Horton Conway)发明的,不幸的是,康威因新冠于2020年4月11号去世,享年82岁。
OK。我们来看一个视频,来直观了解下什么是生命游戏:
生命游戏的规则
在生命游戏中,每个网格单元可以有两种状态之一:死或活。生命游戏由四个简单的规则控制,这些规则应用于模拟域中的每个网格单元:
- 人口过少,离群:如果一个活细胞少于两个活的邻居,它就会死亡。
- 正常:一个有两个或三个活邻居的活细胞可以延续到下一代。
- 人口过多,过度竞争:一个有超过三个活邻居的活细胞死亡。
- 繁衍:如果一个死细胞正好有三个活着的邻居,它就会复活。
我们用一个直观的图来表示下
生命游戏的精彩例子
生命游戏有很多丰富的模式。一些模式是静态的,另一些模式是振荡(两种或者多种模式来回切换)或在屏幕上移动,有些模式甚至可能产生其他模式。
静止的生命体
1)Block 方块
图:来自beltoforion.de
2)Beehive 蜂窝
图:来自beltoforion.de
3)Loaf 吐司
图:来自beltoforion.de
振荡器
1)Blinker 信号灯
图:来自beltoforion.de
2)Toad 蟾蜍
图:来自beltoforion.de
3)Beacon 灯塔
图:来自beltoforion.de
宇宙飞船
1)The Glider 滑翔机
图:来自beltoforion.de
2)Lightweight spaceship 轻型飞船
图:来自beltoforion.de
3)Weekender 旅行者
图:来自beltoforion.de
想看更多的例子可以查看 conwaylife 的维基页面 https://www.conwaylife.com/wiki/Category:Patterns。
生命游戏-Processing
Daniel Shiffman在他的书籍《The Nature of Code》(中文名是代码本色)中有一个生命游戏的章节,读者朋友感兴趣的可以看看。
更多阅读
- https://beltoforion.de/en/game_of_life/index.php
- https://www.conwaylife.com/wiki/Category:Patterns
小菜与老鸟后期会不定期更新一些 Processing 绘制的代码思路分析,欢迎关注不迷路。
如果有收获,能一键三连么?