gpt4 book ai didi

javascript - 似乎无法在 javascript 中添加两个整数?

转载 作者:搜寻专家 更新时间:2023-11-01 04:09:53 24 4
gpt4 key购买 nike

我正在使用 HTML5 canvas 构建 John Conways 生活游戏。它有一个 gameOfLife 对象,其中包含一个包含所有细胞及其状态(死/活)的数组。这是构建单元格的代码:

function cell(x,y){
this.x = x;
this.y = y;
this.isAlive = false;
}

我正在探索检查细胞周围细胞状态的方法。据我了解,一种方法是遍历数组并找到一个坐标与当前选中的单元格周围匹配的单元格。

我正在考虑换一种方式。通过从正在评估的单元格的索引中添加和减去 Y(和 X)轴上的单元格数量(+1 和 -1 的小变化),您应该能够得出任何顶部的索引左、左、左下、右上、右、右下单元格。

虽然我无法测试这个想法,因为它不能让我获得所需的索引:

所以,在我的更新循环中:

//I know that there is a cell at the index of exampleIndex + cellsY
exampleIndex = 200;

game.getLivingNeighbours(exampleIndex);


function getLivingNeighbours(i){

console.log(i) //Logs an integer
console.log(grid.cellsY) //Logs an integer
console.log(game.cells[i + grid.cellsY]); //Undefined?!

}

最佳答案

可能有两个原因:

  1. 在 JavaScript 中,变量是松散类型的,这就是为什么最好先解析 int算术运算。

    尝试:

    console.log(game.cells[parseInt(i,10) + parseInt(grid.cellsY,10)]);
  2. 你正在尝试访问一个数组,你需要检查是否parseInt(i,10) + parseInt(grid.cellsY,10) 索引存在于你的数组与否。

关于javascript - 似乎无法在 javascript 中添加两个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com