1

嘿,我最近用 JavaScript写了这个相当简单的生活游戏。

在这个脚本中,我检查给定单元格周围的所有单元格,我目前通过八个if 语句执行此操作。

它有效,但感觉错误且硬编码。会不会有一种更快、更有效的方法来做到这一点?还是大量的 if 语句是唯一的方法?

4

3 回答 3

2

如何创建一个偏移数组并循环遍历该数组?

var offsets = [{dx:1,dy:1},{dx:0,dy:1}, ...
于 2011-05-29T10:53:24.160 回答
0

您可以对其进行优化,例如,不要多次检查 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++;
}
于 2011-05-29T11:04:47.983 回答
0

您可以创建一个在某些步骤后更新的查找表,因此您可以加快计算速度

于 2011-06-01T21:06:14.537 回答