目前,我正在尝试检查网格单元格周围所有单元格中的数据。上、左、下、右和所有对角线。我怎样才能使用异常抛出,所以我不必单独编码边和角?
这是我目前所拥有的。isIsAlive() 只是检查单元格是否“活动”。一个单元的邻居包括它周围的所有活动单元。
public void calcNeighbors() throws ArrayIndexOutOfBoundsException{
int x =0;
int y =0;
int neighbors = 0;
while(x < 9){
while(y < 9){
if(generation[x+1][y+1].isIsAlive()){
neighbors++;
}
if(generation[x+1][y].isIsAlive()){
neighbors++;
}
if(generation[x+1][y-1].isIsAlive()){
neighbors++;
}
if(generation[x][y-1].isIsAlive()){
neighbors++;
}
if(generation[x-1][y-1].isIsAlive()){
neighbors++;
}
if(generation[x-1][y].isIsAlive()){
neighbors++;
}
if(generation[x-1][y+1].isIsAlive()){
neighbors++;
}
if(generation[x][y+1].isIsAlive()){
neighbors++;
}
y++;
}
x++;
neighbors = 0;
}
}