не могу понять почему не пропускает валидатор?
package com.javarush.games.game2048;
import com.javarush.engine.cell.*;
public class Game2048 extends Game {
private static final int SIDE = 4;
private int[][] gameField= new int[SIDE][SIDE];
@Override
public void initialize(){
setScreenSize(SIDE, SIDE);
createGame();
drawScene();
}
private void createGame(){
createNewNumber();
createNewNumber();
}
private void drawScene(){
for(int x = 0;x<SIDE;x++){
for(int y = 0;y<SIDE;y++){
//setCellColor(x, y, Color.RED);
setCellColoredNumber(x, y, gameField[y][x]);
}
}
}
private void createNewNumber(){
int x = getRandomNumber(SIDE);
int y = getRandomNumber(SIDE);
int num = getRandomNumber(10)<9?2:4;
if (gameField[y][x] == 0) {
gameField[y][x] =num;
}
else
{
createNewNumber();
}
}
private Color getColorByValue(int value){
switch (value) {
case 0: return Color.WHITE;
case 2: return Color.YELLOW;
case 4: return Color.BLUE;
case 8: return Color.GREEN;
case 16: return Color.ORANGE;
case 32: return Color.AQUAMARINE;
case 64: return Color.LIGHTBLUE;
case 128: return Color.LIME;
case 256: return Color.HOTPINK;
case 512: return Color.KHAKI;
case 1024: return Color.DARKVIOLET;
case 2048: return Color.NAVY;
}
return null;
}
private void setCellColoredNumber(int x, int y, int value){
if (value != 0)
setCellValueEx(x, y, getColorByValue(value), Integer.toString(value));
else
setCellValueEx(x, y, getColorByValue(value), "");
}
private boolean compressRow(int[] row){
boolean change=false;
for(int i=0;i<row.length-1;i++){
if(row[i]==0){
for(int j=i+1;j<row.length;j++){
if(row[j]!=0){
row[i]=row[j];
row[j]=0;
change=true;
break;
}
}
}
}
return change;
}
private boolean mergeRow(int[] row){
boolean change=false;
for(int i=0;i<row.length-1;i++){
if(row[i]!=0 && row[i+1]==row[i]){
row[i]=row[i]+row[i+1];
row[i+1]=0;
change=true;
}
}
return change;
}
public void onKeyPress(Key key){
if (key == Key.LEFT) {
// выполнить движение влево
moveLeft();
} else if (key == Key.RIGHT) {
// выполнить движение вправо
moveRight();
}else if (key == Key.UP) {
// выполнить движение вправо
moveUp();
}else if (key == Key.DOWN) {
// выполнить движение вправо
moveDown();
}
}
private void moveLeft(){
}
private void moveRight(){
}
private void moveUp(){
}
private void moveDown(){
}
}