Не могу составить правильные условия победы по диагонали. При наличии 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];
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Публичный класс Main должен быть в собственном файле - это написано прямо в ошибке человеческим языком, почему бы не попытаться прочитать, что...
Делаю запросы через startService в ServiceКак сделать проверку в onStartCommand