嘿,我最近在JavaScript中写了这个相当简单的game of life。
在这个脚本中,我检查给定单元格周围的所有单元格,我目前通过 8 if语句执行此操作。
它有效,但感觉不对,硬编码。会不会有更快,更有效的方法呢?或者大量的if语句是唯一的方法吗?
答案 0 :(得分:2)
如何创建偏移数组并循环遍历数组?
var offsets = [{dx:1,dy:1},{dx:0,dy:1}, ...
答案 1 :(得分: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++;
}
答案 2 :(得分:0)
您可以创建一个在某些步骤后更新的查找表,以便加速计算