Not really sure what I am missing here. Can anyone help out? When I run the program it seems to work but I'm failing this test constantly
package com.codegym.games.game2048;
import com.codegym.engine.cell.*;
public class Game2048 extends Game {
private static final int SIDE = 4;
private int[][] gameField = new int[SIDE][SIDE];
private void createGame(){
createNewNumber();
createNewNumber();
}
private void drawScene(){
//replace all with setCellColoredNumber(int,int,int)
for(int x = 0; x<SIDE;x++){
for(int y = 0; y<SIDE;y++){
setCellColoredNumber(x,y,gameField[x][y]);
}
}
}
private void createNewNumber(){
int randomNumber1 = getRandomNumber(SIDE);
int randomNumber2 = getRandomNumber(SIDE);
int percentage = getRandomNumber(10);
int value = 0;
int count = 0;
if(percentage==9){
value = 4;
}
else{
value = 2;
}
if(gameField[randomNumber1][randomNumber2] >0){
createNewNumber();
}
else{
gameField[randomNumber1][randomNumber2]=value;
}
}
private Color getColorByValue(int value){
//return a cell color based on value
switch(value){
case 0: return Color.WHITE;
case 2: return Color.BLUE;
case 4: return Color.RED;
case 8: return Color.GREEN;
case 16: return Color.CYAN;
case 32: return Color.GRAY;
case 64: return Color.MAGENTA;
case 128: return Color.ORANGE;
case 256: return Color.PINK;
case 512: return Color.YELLOW;
case 1024: return Color.PURPLE;
case 2048: return Color.BROWN;
default: return Color.WHITE;
}
}
private void setCellColoredNumber(int x, int y, int value){
if(value!=0){
setCellValueEx(y,x,getColorByValue(value),Integer.toString(value));
}
else{
setCellValueEx(y,x,getColorByValue(value),"");
}
}
@Override
public void initialize(){
setScreenSize(SIDE,SIDE);
createGame();
drawScene();
}
}