Почему? Я все поменял согласно условию, вообще не понимаю, что не так...
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];
public void initialize(){
setScreenSize(SIDE, SIDE);
createGame();
drawScene();
}
private void createGame(){
for (int i = 0; i < 2; i++) createNewNumber();
}
private void drawScene(){
for (int y = 0; y < gameField.length; y++){
for (int x = 0; x < gameField[y].length; x++){
setCellColoredNumber(x, y, gameField[y][x]);
}
}
}
private void createNewNumber(){
int x, y;
do {
x = getRandomNumber(SIDE);
y = getRandomNumber(SIDE);
} while (gameField[y][x] != 0);
if (getRandomNumber(10) == 9) gameField[y][x] = 4;
else gameField[y][x] = 2;
}
private Color getColorByValue(int value){
Color color = Color.WHITE;
if (value == 2) color = Color.ORANGE;
if (value == 4) color = Color.PURPLE;
if (value == 8) color = Color.PINK;
if (value == 16) color = Color.RED;
if (value == 32) color = Color.BLUE;
if (value == 64) color = Color.CORAL;
if (value == 128) color = Color.GOLD;
if (value == 256) color = Color.MAGENTA;
if (value == 512) color = Color.FIREBRICK;
if (value == 1024) color = Color.DARKSALMON;
if (value == 2048) color = Color.NAVY;
return color;
}
private void setCellColoredNumber(int x, int y, int value){
if(value == 0) setCellValueEx(x, y, getColorByValue(value), "");
setCellValueEx(x, y, getColorByValue(value), "" + value);
}
}