Проверка победы в крестики-нолики по диагонали

480
13 февраля 2017, 14:31

Не могу составить правильные условия победы по диагонали. При наличии 5 одинаковых символов по диагонали, игра все равно продолжается.

static boolean isGameOver(int n){
        //
        //  0   1  2  3 4
        //  5   6  7  8 9 
        // 10 11 12 13 14
        // 15 16 17 18 19
        // 20 21 22 23 24
        //поиск совпадений по горизонтали
        int row = n-n%5; //номер строки - проверяем только её
        if ((canvas[row]==canvas[row+1]) &&
                (canvas[row]==canvas[row+2]) &&
                        (canvas[row]==canvas[row+3]) &&
                                (canvas[row]==canvas[row+4])) return true;
        //поиск совпадений по вертикали
        int column = n%5; //номер столбца - проверяем только его
        if ((canvas[column]==canvas[column+5])&&
            (canvas[column]==canvas[column+10])&&
                (canvas[column]==canvas[column+15])&&
                    (canvas[column]==canvas[column+20]))return true;
        //мы здесь, значит, первый поиск не положительного результата
        //если значение n находится на одной из граней - возвращаем false
        if (n%5!=0) return false;
        //проверяем принадлежит ли к левой диагонали значение
        if (n%3==0){
            //проверяем есть ли совпадения на левой диагонали
            if ((canvas[0] == canvas[6]) &&
                    (canvas[0] == canvas[12]) &&
                            (canvas[0] == canvas[18]) &&
                                    (canvas[0] == canvas[24])) return true;
            if (n!=4) return false;
        }
        return canvas[4] == canvas[8] &&
                canvas[4] == canvas[12]&&
                        canvas[4] == canvas[16]&&
                                canvas[4] == canvas[20];
    }

READ ALSO
В классе Main выбивает ошибку “The public type Main must be defined in its own file”

В классе Main выбивает ошибку “The public type Main must be defined in its own file”

Публичный класс Main должен быть в собственном файле - это написано прямо в ошибке человеческим языком, почему бы не попытаться прочитать, что...

411
Как сделать проверку в onStartCommand

Как сделать проверку в onStartCommand

Делаю запросы через startService в ServiceКак сделать проверку в onStartCommand

288