Как усовершенствовать метод удаления заполненных линий? Чтобы заполненная линия изменялась на конкретную текстуру из класса Assets, а потом уже исчезала и опускалась вниз?
void deleteFullLines() {
// поиск заполненной линии
int firstFullLine = 0;
boolean isFull = true;
for (int i = 2; i <= 15; i++) {
for (int j = 3; j <= 10; j++) {
if (field[i][j] == null) {
isFull = false;
break;
}
}
if (isFull) {
firstFullLine = i;
break;
}
isFull = true;
}
// проверка заполненных линий
int lastFullLine = 0;
for (int i = 15; i >= 2; i--) {
for (int j = 10; j >= 3; j--) {
if (field[i][j] == null) {
isFull = false;
break;
}
}
// удаление при наличии заполненных
if (isFull) {
for (int b = 10; b >= 3; b--) {
field[i][b] = null;
}
lastFullLine = i;
score+=20+levelScore;
}
isFull = true;
}
boolean fill = false;
int fillLine = firstFullLine;
// смещаем квадраты
if (lastFullLine > 0) {
for (int i = lastFullLine + 1; i < 15; i++) {
for (int j = 3; j <= 10; j++) {
if (field[i][j] != null) {
field[fillLine][j] = field[i][j];
field[i][j] = null;
fill = true;
}
}
if (fill == true) {
fillLine += 1;
}
fill = false;
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости