Не знаю почему, не проходит валидацию по предпоследнему условию, помогите пожалуйста. При этом при запуске отрисовки вроде всё норм
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];
//private int[][] gameField = {{ 2, 4, 8, 16},{ 32, 64, 128, 256}{512, 1024, 2048, 0},{ 2, 4, 8, 16}};
private void createGame(){
createNewNumber();
createNewNumber();
}
private void drawScene(){
for (int i = 0; i < gameField.length; i++) {
for (int j = 0; j < gameField[i].length; j++) {
setCellColoredNumber(i, j, gameField[i][j]);
}
}
}
private void createNewNumber(){
while(true){
int x = getRandomNumber(SIDE);
int y = getRandomNumber(SIDE);
if(gameField[x][y] == 0){
int random = getRandomNumber(10);
if(random == 9) gameField[x][y] = 4;
else gameField[x][y] = 2;
break;
}
}
}
private Color getColorByValue(int value){
if(value == 2)
return Color.PLUM;
else if(value == 4)
return Color.MEDIUMORCHID;
else if(value == 8)
return Color.DARKORCHID;
else if(value == 16)
return Color.BLUEVIOLET;
else if(value == 32)
return Color.MEDIUMPURPLE;
else if(value == 64)
return Color.MEDIUMSLATEBLUE;
else if(value == 128)
return Color.SLATEBLUE;
else if(value == 256)
return Color.DARKSLATEBLUE;
else if(value == 512)
return Color.PURPLE;
else if(value == 1024)
return Color.DARKMAGENTA;
else if(value == 2048)
return Color.INDIGO;
else return Color.DARKSALMON;
}
private void setCellColoredNumber(int x, int y, int value){
if (value == 0)
setCellValueEx(y, x, getColorByValue(value), "");
else
setCellValueEx(y, x, getColorByValue(value), String.valueOf(value));
}
@Override
public void initialize(){
setScreenSize(SIDE, SIDE);
createGame();
drawScene();
}
}
