Я работаю над стандартной программой Game Of Life для моего курса Intro to Java, и до сих пор мне удалось реализовать ее самостоятельно. Тем не менее, я испытываю трудности с подсчетом соседей данной ячейки, чтобы определить, живет ли она или умирает.Game Of Life - Out Of Bounds array index
Вот мой countNeighbors
метод:
public static int countNeighbors(int [][] board, int A, int B)
{
int [][]a = board;
int count = 0;
if (a[A][B] == 0 || a[A][B] == 1) {
try{
if (a[A-1][B-1] == 1) {count++;}
if (a[A ][B-1] == 1) {count++;}
if (a[A+1][B-1] == 1) {count++;}
if (a[A-1][B ] == 1) {count++;}
if (a[A+1][B ] == 1) {count++;}
if (a[A-1][B+1] == 1) {count++;}
if (a[A ][B+1] == 1) {count++;}
if (a[A+1][B+1] == 1) {count++;}
}
catch (ArrayIndexOutOfBoundsException e) {}
}
return count;
}
Когда я запускаю свою программу, этот метод не учитывает соседей правильно, таким образом инициализируется неправильное новое поколение. Как я могу преодолеть индексы вне границ массива?