Добрый день !
Пишу код для игры в крестики/нолики, на данный момент пытаюсь написать проверку выигрыша. Возник вопрос.
Имеется метод осуществляющий проверку ( в данном случае вертикалей), как мне из этого метода вернуть значение попеременное, при условии что цикл не должен прекращать свою проверку. Когда я пишу return в цикле, он обрывает его действие, что не подходить для моего случая, т.к. тогда не осуществляется проверка всех вертикалей( а только первой). Прилагаю кусок кода.
public String checkVertical (Field field){
Point point1 = new Point(); //создание объекта фигурки
Point point2 = new Point(); //создание объекта фигурки
Point point3 = new Point(); //создание объекта фигурки
String x = null; //переменная которую в итоге вернем для финальной проверки победителя
for (int i = 0; i < field.getSize(); i++){
//проверка по координатам
point1.x = i;
point2.x = i;
point3.x = i;
point1.y = 0;
point2.y = 1;
point3.y = 2;
x = checkThreePoint(point1, point2, point3, field) ; // данный метод проверяет фигурки на совпадение(если есть 3 из 3 то возвращается победитель, иначе null
if (x != null) {
return x; //эта проверка остановит цикл, что неверно
}
else{
return null;
}
}
return x; // тут должен вернуться итоговый победитель
}