Im building Джон Конвейс игра жизни с холстом HTML5. У этого есть объект gameOfLife, который содержит массив со всеми ячейками и их состояниями (мертвыми/живыми). Вот код, который строит ячейку:Кажется, не может добавить два целых числа в javascript?
function cell(x,y){
this.x = x;
this.y = y;
this.isAlive = false;
}
Я изучает способы проверки клетки, окружающие клетки состояния. Насколько я понимаю, одним из способов является итерация по массиву и поиск ячейки с координатами, которые соответствуют текущей ячейке.
Я думал о другом. Добавляя и вычитая количество ячеек (с небольшими изменениями +1 и -1) на оси Y (и X) из индекса оцениваемой ячейки, вы должны иметь возможность отображать индекс любой вершины левый, левый, нижний левый, верхний правый, правый, нижний правый.
Я не был в состоянии проверить эту идею, так как она не позволяет мне получить желаемый индекс:
Таким образом, в моем цикле обновления:
//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?!
}
что это? 'cellsX' или' cellsY'? – Joseph
Вы пытаетесь добавить 'i' и' cellsY'. Вы проверяете, является ли 'cellsX' целым числом, но вы никогда не проверяете' cellsY' –
cellsY, очень жаль. – styke