Двумерный массив,который хранит данные игрового поля имеет размеры 10x10 (10 строчек, 10 элементов в каждой строке). Нумерация строк и элементов в строке лежит в пределах от 0до 9. Номер не может быть меньше нуля или больше девяти! Если попытаться в программном коде выполнить следующие строки, то произойдет ошибка:
//Примеры выхода за границы массива
masPlay[-1][4] = 1;
masPlay[10][4] = 1;
Нельзя допускать выход за границы массива! В классеgame нам предстоит очень много работать с двумерным массивом и нужно будет проверять ситуацию выхода за пределы массива. Добавим метод для тестирования данной ситуации:
// Проверка невыхода за границы массива
private boolean testMasPoz(int i, int j) {
if (((i> = 0) && (i <= 9)) && ((j >= 0) && (j <= 9))) {
return true;
} else
return false;
}
Внимание!!!Методы класса можно размещать в произвольном порядке внутри класса! Таким образом, метод testMasPoz() можно разместить под конструктором класса или над ним.
Методу testMasPoz(int i, int j) передаются два параметра –номер строки i
и номер позиции в строкеj. Метод выполняет проверку что i, jлежат в пределах от 0до 9. Если все в порядке–метод возвращает true (истина), если происходит выход за пределы массива, то false(ложь).
Важно!!!Любой фрагмент программного кода, который будет неоднократно использоваться в программе, необходимо реализовать в виде отдельного метода. А готовый метод вызывать в нужных местах программного кода.
При записи значения в элемент массива –мы должны быть уверены, что не выходим за границы массива. Для этих целей добавим еще один метод:
// Запись значения в массив с проверкой границ массива
private void setMasValue(int[][] mas, int i, int j, int val) {
// Если не происходит выход за границы массива
if (testMasPoz(i, j)==true) {
// Записываем значение в массив
mas[i][j] = val;
}
}
Метод setMasValue() запишет значение в элемент массива только в том случае, если не будет выхода за пределы массива. Этот метод гарантирует нам, что мы случайно не нарушим границы массива.