В куске этого говнокода нужно запустить рекурсию, с условием если открытая ячейка содержит ноль, то проверить соседние ячейки, если соседняя ячейка содержит ноль , то открыть её, если её соседняя ячейка содержит ноль, то её тоже открыть. Вопрос: как блин это сделать???? У меня не получается проверить содержит ли соседняя ячейка ноль, рекурсия циклится на первой ячейке и вырубается с ошибкой. Два дня ковыряюсь....уже полную ахинею пишу. Спасайте.
private void openTile(int x, int y) {
        GameObject go = gameField[y][x];
        gameField[x][y].isOpen = true;
        setCellColor(x, y, Color.GREEN);
        if(!go.isMine) {
            setCellNumber(x, y, go.countMineNeighbors);
// до этого места все предыдущие условия выполняются, дальше до else полная каша
            if(getCellNumber(x, y) == 0) {
//                openTile(x, y);
                System.out.println("open");
                for(GameObject gameObject: getNeighbors(go)) {
//                        System.out.println("print 1 " + "x = " + go.x + " " + "y =" + go.y);
                    if(gameObject.isOpen && gameObject.countMineNeighbors == 0) {
                    System.out.println("print 2 = " + gameObject.countMineNeighbors);
                    openTile(x, y);

                    }
                }
            }
        }
        else {
            setCellValue(go.x, go.y, MINE);
        }
    }