我想在这个条件下做的是确保数组中的对象(中间单元格的邻居)物理上在数组内,所以我想我会让构造函数中的第三个变量(年龄)等于零,思考如果它找不到那个实例变量,它就不会走得更远。但它给了我一个超出范围的-1异常,我不知道如何重写它以避免这种情况。(如果这不是足够的细节,我很抱歉,我可以提供更多,只是问)
所以这是我的代码部分我坚持:
for (int x = 0; x < Grid.columns; x++) {
for (int y = 0; y < Grid.rows; y++) {
int nCount = 0;
int hCount = 0;
//check neighbors
for (int i = -1; i <= 1; i++) {
for (int j = -1; j <= 1; j++) {
//check if valid and identity
//STUCK HERE---> if(i !=0 && j !=0)
if (board[x + i][y + j].age == 0) {
nCount++;
if (board[x + i][y + j].getPreviousValue() == 0)
hCount++;
}
}
}
board[x][y].setCurrentValue(hCount / nCount, (nCount - hCount) / nCount);
}
}