百度百科解释:
- 当前细胞为死亡状态时,当周围有3个存活细胞时,则迭代后该细胞变成存活状态(模拟繁殖);若原先为生,则保持不变。
- 当前细胞为存活状态时,当周围的邻居细胞低于两个(不包含两个)存活时,该细胞变成死亡状态(模拟生命数量稀少)。
- 当前细胞为存活状态时,当周围有两个或3个存活细胞时,该细胞保持原样。
- 当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态(模拟生命数量过多)。
并非遍历所有细胞,而是提前记录生存的细胞,每一帧计算下一帧时它们自己和周围细胞的生存状态,并记录下状态改变的细胞。等到下一帧时遍历状态改变的细胞,并将它们绘制到Canvas上。
简单来说就是:遍历生存细胞和其邻居,重绘变化的细胞。
此算法在活细胞数量较少时效率较高,但当活细胞数量较多时,效率会降低。