пару часов пытаюсь понять в чем проблема и не могу понять как решить последние 3 пункта
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(){
createNewNumber();
createNewNumber();
}
//устанавливает начальный цвет на каждую клетку
private void drawScene(){
for(int i = 0; i < SIDE; i++){
for(int j = 0; j < SIDE; j++){
setCellColoredNumber(i, j, 2);
}
}
}
//задает координаты и создает число
private void createNewNumber(){
int x, y;
do{
x = getRandomNumber(SIDE);
y = getRandomNumber(SIDE);
}while(gameField[x][y] != 0);
if(getRandomNumber(10) == 9)
gameField[x][y] = 4;
else
gameField[x][y] = 2;
}
// возвращает цвет определенного числа
private Color getColorByValue(int value){
if(value == 0)
return Color.WHITE;
else if(value == 2)
return Color.GREY;
else if(value == 4)
return Color.YELLOW;
else if(value == 8)
return Color.GREEN;
else if(value == 16)
return Color.ORANGE;
else if(value == 32)
return Color.AQUA;
else if(value == 64)
return Color.RED;
else if(value == 128)
return Color.AZURE;
else if(value == 256)
return Color.BLUE;
else if(value == 512)
return Color.BEIGE;
else if(value == 1024)
return Color.ALICEBLUE;
else if(value == 2048)
return Color.AQUAMARINE;
return null;
}
private void setCellColoredNumber(int x, int y, int value){
if(value != 0) {
String num = Integer.toString(value);
setCellValueEx(x, y, getColorByValue(value), num);
}
}
}