Как насчет написания вашего собственного настроенного класса для игрового поля, что-то вроде
class Minesweeper3DBoard {
public MinesweeperField getField(int x, int y, int z) {
if (x < 0 || x >= ARRAY_SIZE || y < 0 || y >= ARRAY_SIZE || z < 0 || z >= ARRAY_SIZE) {
return NullMineSweeperField.Instance();
}
else {
return Fields_[x][y][z];
}
}
};
с NullMineSweeperField, реализующим шаблоны Null Object и Singleton, и Fields_, содержащая "реальные" поля?
Таким образом, у вас будет только одно место, где проводится проверка.