康威生命游戏

关于:康威生命游戏 培训时让写这个编程小游戏,当时没写出来,后面听了思路就豁然开朗,回家就把它写出来了,用es6写的新版本浏览器才可以看到demo。 生命游戏的每个格子的生死遵循下面的原则: 如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变) 。 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变; 在其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变) 思路就是 首先计算活的细胞周围8个相邻细胞得到 neighbor 集合 过滤 neighbor 重复的细胞,并计算每个细胞出现频次得到 frequency 集合 过滤 frequency 出现频次3的细胞集合 set3 集合 过滤 frequency 出现频次2的细胞集合 set2 集合 把活着的细胞和 set2 做交集得到 intersection 集合 合并 set3 和 intersection 就是这个周期活的细胞了 代码放在 GitHub了

bzw875 2018-12-30 05:00:52.0

编辑