
Итак, ты реализовал сжатие и слияние плиток, что в комбинации дает нам возможность осуществить движение влево.
Отлично! Но нам нужно еще и добавлять новую плитку в случае, если после передвижения игровое поле изменилось.
Давай сделаем так:
1. Изменим метод compressTiles, чтобы он возвращал true в случае, если он вносил изменения во входящий массив, иначе - false.
2. То же самое сделаем и для метода mergeTiles.
3. Реализуем метод left, который будет для каждой строки массива gameTiles вызывать методы compressTiles и mergeTiles и добавлять одну плитку с помощью метода addTile в том случае, если это необходимо.
4. Метод left не должен быть приватным, т.к. вызваться он будет, помимо прочего, из класса Controller.
Требования:
- Метод compressTiles должен возвращать true в случае, если им были внесены изменения во входящий массив.
- Метод compressTiles должен возвращать false в случае, если им НЕ были внесены изменения во входящий массив.
- Метод mergeTiles должен возвращать true в случае, если им были внесены изменения во входящий массив.
- Метод mergeTiles должен возвращать false в случае, если им НЕ были внесены изменения во входящий массив.
- Метод left должен перемещать элементы массива gameTiles влево в соответствии с правилами игры и добавлять плитку с помощью метода addTile, если это необходимо.
- Метод left НЕ должен изменять массив gameTiles, если перемещение влево невозможно.
package com.javarush.task.task35.task3513;
public class Main {
public static void main(String[] args) {
}
}