CatCoding

The Game of Life

2010-07-20

简介

Game of Life是 Princeton 的一个数学家发明的游戏,这个不像一般的小游戏,有胜负,这只是一个规则很简单的模拟游戏,规则很简单,但是过程和结果都很有趣,大三时看到一个同学实现过,去年无聊时也写了个实现,挺好玩的,最后形成的图案很有趣。

rule

平面中的一个小方格分为生和死的状态,规则是:

  • 如果一个死的细胞周围有三个细胞是活的,在下一轮中这个位置出现一个活的细胞。
  • 如果一个活的细胞周围有两个或者三个活的细胞,在下一轮中或者,否则下轮中该细胞死掉。
  • 其他情况该位置维持不变。

这里的 周围 是指一个方格的周围 8 个位置。规则很简单,结果也很完美,甚至是符合现实世界中生命的生死规律,一个群种只有在保持平衡的状态下才能实现良性循环。

不可能有一种初始状态使得活着的细胞数量一直增加,如果你找到一种,可以向原作者所要一笔钱,哈哈。不管初始状态如何,真个世界在经过一段时间的演变之后都会逐渐稳定下来。稳定的状态有很多中,分为静止的和“颤抖”的。

另外发现一些的简单规律:并不是初始或者的数目越多最后或者的数目就越多,测试表明初始或者的数目为总量的一半的时候活着的比较多。

还有很多规律在其主页上可以找到。

实现


我这个是 Linux 下 OpenGL 实现的,红色代表死的细胞,蓝色代表活着的细胞,稳定以后世界

公号同步更新,欢迎关注👻