我正在使用 Javascript 和 HTML5 Canvas 构建康威的生活游戏。此处的代码位于 gameOfLife 对象的上下文中:
this.cells = [];
this.nextCellState = [];
填充this.cells
我的单元格对象后,我填充this.nextCellState
如下:
this.nextCellState = this.nextCellState.concat(this.cells);
在鼠标单击时,相应的单元格对象属性 isAlive 变为 true:
function clickAlive(x, y) {
for (var i in this.cells) {
if (x.between(this.cells[i].x, this.cells[i].x + cellsize) && y.between(this.cells[i].y, this.cells[i].y + cellsize)) {
this.cells[i].isAlive = true;
console.log('Breakpoint');
}
}
}
问题是,查看断点处cells
的nextCellState
数组,它们都将单击的单元格激活为true
.
这是什么原因造成的?