Im buduję grę John Conways z płótnem HTML5. Ma obiekt gameOfLife, który zawiera tablicę zawierającą wszystkie komórki i ich stany (martwe/żywe). Oto kod, który tworzy komórkę:Nie można dodać dwóch liczb całkowitych w javascript?
function cell(x,y){
this.x = x;
this.y = y;
this.isAlive = false;
}
jestem odkrywanie sposobów sprawdzania do komórek otaczających komórek stany. Jak rozumiem, jednym ze sposobów jest iteracja poprzez tablicę i znalezienie komórki o współrzędnych, które pasują do otaczającej aktualnie zaznaczonej komórki.
Myślałem o przejściu w inny sposób. Dodając i odejmując liczbę komórek (z małymi odchyleniami +1 i -1) na osi Y (i X) od indeksu komórki będącej przedmiotem oceny, powinieneś być w stanie wymyślić indeks dowolnego wierzchołka lewa, lewa, dolna lewa, górna prawa, prawa, dolna prawa komórka.
nie byłem w stanie przetestować ten pomysł, chociaż, ponieważ nie pozwala mi uzyskać żądany indeks:
Więc, moim pętli aktualizacji:
//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?!
}
co to jest? 'cellsX' lub' cellsY'? – Joseph
Próbujesz dodać 'i' oraz' cellsY'. Sprawdzasz, czy 'cellX' jest liczbą całkowitą, ale nigdy nie zaznaczasz' cellsY' –
cellsY, bardzo przepraszam. – styke