Мой друг делает клон тральщика, и он попросил меня помочь с той частью, где, когда вы щелкаете по незаполненному / не числовому «пустому» квадрату, он обнаруживает все смежные пробелы. Ниже приведен код, который я написал. Я не могу понять, почему это никогда не разрешается.
Мой базовый случай должен быть, когда циклы for полностью выполняются и оператор if никогда не возвращает true.
Есть ли что-то, чего мне не хватает?
Кстати, в Java. Кроме того, я сказал ему, что метод изменения состояния кнопки должен быть назначен методу: p
public void revealAdjacentNulls(int r, int c)
{
int ir, ic;
//literal edge cases :P
int rmax = (r == 15) ? r : r + 1;
int cmax = (c == 15) ? c : c + 1;
//check all spaces around button at r,c
for(ir = (r==0) ? 0 : r-1; ir <= rmax; ir++){
for (ic = (c==0) ? 0 : c-1; ic <= cmax; ic++){
//if any are blank and uncovered, reveal them, then check again around the blanks
if (buttons[ir][ic].value == 0 && buttons[ir][ic].isCovered == false)
{
buttons[ir][ic].setEnabled(false); //number uncovered
buttons[ir][ic].setBackground(Color.blue);
buttons[ir][ic].setText(Character.toString(buttons[ir][ic].value));
buttons[ir][ic].isCovered = false;
revealAdjacentNulls(ir, ic);
}
}
}
}