Im xây dựng trò chơi John Conways về cuộc sống bằng canvas HTML5. Nó có một đối tượng gameOfLife chứa một mảng với tất cả các ô và trạng thái của chúng (đã chết/còn sống). Đây là mã xây dựng một ô:Có vẻ như không thêm hai số nguyên vào javascript?
function cell(x,y){
this.x = x;
this.y = y;
this.isAlive = false;
}
Tôi đang khám phá cách kiểm tra ô xung quanh các trạng thái ô. Theo tôi hiểu, một cách là lặp qua mảng và tìm một ô có tọa độ khớp với nhau xung quanh ô hiện đang được chọn.
Tôi đã nghĩ đến việc đi theo một cách khác. Bằng cách cộng và trừ số ô (với các biến thể nhỏ của +1 và -1) trên trục Y (và X) từ chỉ mục của ô đang được đánh giá, bạn sẽ có thể tìm ra chỉ mục của bất kỳ đầu trang nào bên trái, bên trái, dưới cùng bên trái, trên cùng bên phải, bên phải, ô dưới cùng bên phải.
tôi đã không thể kiểm tra ý tưởng này mặc dù, vì nó không cho tôi có được chỉ số mong muốn:
Vì vậy, trong bản cập nhật lặp của tôi:
//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?!
}
đó là gì? 'cellsX' hoặc' cellsY'? – Joseph
Bạn đang cố thêm 'i' và' cellsY'. Bạn đang kiểm tra xem liệu 'cellsX' có phải là số nguyên không, nhưng bạn không bao giờ kiểm tra' cellsY' –
cellsY, rất tiếc. – styke