【发布时间】:2011-06-02 05:06:14
【问题描述】:
嘿,我最近用 JavaScript 写了这个相当简单的game of life。
在这个脚本中,我检查给定单元格周围的所有单元格,我目前通过 8 个 if 语句执行此操作。
它有效,但感觉错误且硬编码。会不会有一种更快、更有效的方法来做到这一点?还是大量的 if 语句是唯一的方法?
【问题讨论】:
标签: javascript optimization canvas points
嘿,我最近用 JavaScript 写了这个相当简单的game of life。
在这个脚本中,我检查给定单元格周围的所有单元格,我目前通过 8 个 if 语句执行此操作。
它有效,但感觉错误且硬编码。会不会有一种更快、更有效的方法来做到这一点?还是大量的 if 语句是唯一的方法?
【问题讨论】:
标签: javascript optimization canvas points
您可以对其进行优化,例如,不要多次检查 x > 0,而是将一个包裹另一个 ifs
if(x > 0) {
if(cells[x - 1][y])
alive++;
if(y > 0 && cells[x - 1][y - 1])
alive++;
if(y < edgeAmount && cells[x - 1][y + 1])
alive++;
}
【讨论】:
您可以创建一个查找表,在经过一些步骤后更新,从而加快计算速度
【讨论】: