Ради эксперимента я методы mergeTiles() и compressTiles() взял из решения администрации, тело метода rotate() оттуда же, только поменял на void.
Тест проходит нормально, но вальке все равно не нравится.
package com.javarush.task.task35.task3513;
public class Main {
public static void main(String[] args) {
Model model = new Model();
model.gameTiles = new Tile[][]{
{new Tile(4), new Tile(4), new Tile(4), new Tile(4)},
{new Tile(4), new Tile(0), new Tile(4), new Tile(0)},
{new Tile(0), new Tile(0), new Tile(8), new Tile(0)},
{new Tile(0), new Tile(0), new Tile(8), new Tile(0)},
};
printTiles(model.gameTiles);
model.down();
printTiles(model.gameTiles);
}
private static void printTiles(Tile[][] tiles) {
for (int i = 0; i < tiles.length; i++) {
for (int j = 0; j < tiles.length; j++) {
System.out.print(tiles[i][j].value + " ");
}
System.out.println();
}
System.out.println();
}
}