Skip to content

1045290202/game_of_life

Repository files navigation

康威生命游戏

规则

百度百科解释:

  1. 当前细胞为死亡状态时,当周围有3个存活细胞时,则迭代后该细胞变成存活状态(模拟繁殖);若原先为生,则保持不变。
  2. 当前细胞为存活状态时,当周围的邻居细胞低于两个(不包含两个)存活时,该细胞变成死亡状态(模拟生命数量稀少)。
  3. 当前细胞为存活状态时,当周围有两个或3个存活细胞时,该细胞保持原样。
  4. 当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态(模拟生命数量过多)。

算法

并非遍历所有细胞,而是提前记录生存的细胞,每一帧计算下一帧时它们自己和周围细胞的生存状态,并记录下状态改变的细胞。等到下一帧时遍历状态改变的细胞,并将它们绘制到Canvas上。

简单来说就是:遍历生存细胞和其邻居,重绘变化的细胞。

此算法在活细胞数量较少时效率较高,但当活细胞数量较多时,效率会降低。

体验链接

康威生命游戏