build the game of life(204)
相关资料
game of life(英文版)
康威生命游戏(中文版)
规则
- 当前细胞为存活状态时,当周围低于2个(不包含2个)存活细胞时, 该细胞变成死亡状态。(模拟生命数量稀少)
- 当前细胞为存活状态时,当周围有2个或3个存活细胞时, 该细胞保持原样。
当前细胞为存活状态时,当周围有3个以上的存活细胞时,该细胞变成死亡状态。(模拟生命数量过多) - 当前细胞为死亡状态时,当周围有3个存活细胞时,该细胞变成存活状态。 (模拟繁殖)
分析
核心算法部分
- 创建一个2d数组来储存细胞
|
|
- 由规则可知,其主要难点是找出每个细胞的邻居总数
|
|
- 对grid中所有元素都应用生命游戏规则
|
|
至此核心算法算是完成。
render 部分
使用React框架,想要了解更多React框架知识,请移步此处
- GameFeedBack部分
– 主要是显示当前alive的总数和generation的总数
|
|
- ButtonTool部分
– 注意此处onclick事件所调用的方法均在App组件中定义,是为了避免this
的混淆,用this.props
获取方法。
|
|
- Board部分
|
|
- Cell部分
|
|
- App部分
– 此部分主要是将先前的所有组件连接在一起,并且定义交互时需要调用的方法,以及game的过程方法