Вот в упор не могу понять где ошибся.
Третье требование не проходит.
Был бы весьма признателен за подсказку)
package com.javarush.games.minesweeper;
import java.util.ArrayList;
//import com.javarush.engine.cell.*;
import com.javarush.engine.cell.*;
public class MinesweeperGame extends Game {
private static final int SIDE=9;
private int countMinesOnField=0;
private GameObject [][] gameField = new GameObject [SIDE][SIDE];
@Override
public void initialize() {
setScreenSize(SIDE, SIDE);
createGame();
// Тут выполняем все действия по инициализации игры и ее объектов
}
private void createGame() {
for (int i=0; i<gameField.length; i++){
for (int j=0; j<gameField[i].length; j++){
int a=getRandomNumber(10);
boolean b=false;
if(a==0) {
b=true;
countMinesOnField=countMinesOnField+1;
}
gameField[i][j] = new GameObject(j, i, b);
setCellColor(i, j, Color.ORANGE);
}
}
countMineNeighbors();
}
private void countMineNeighbors(){
for (int i=0; i<gameField.length; i++){
for (int j=0; j<gameField[i].length; j++){
//GameObject cell = gameField[i][j];
int countMine=0;
if(gameField[i][j].isMine==false){
ArrayList <GameObject> mineNeighbours = getNeighbors(gameField[i][j]);
for(int k=0; k<mineNeighbours.size();k++){
GameObject z = mineNeighbours.get(k);
if(z.isMine==true) countMine++;
//if(mineNeighbours.get(k).isMine==true) countMine++;
}
gameField[i][j].countMineNeighbors=countMine;
} else continue;
}
}
}
public ArrayList getNeighbors(GameObject cell){
ArrayList<GameObject> listNeighbours = new ArrayList<GameObject>();
if(cell.x==0 && cell.y==0) {
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x+1]);
} else if (cell.x==8 && cell.y==8){
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x-1]);
}else if (cell.x==8 && cell.y==0){
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x-1]);
} else if (cell.x==0 && cell.y==8){
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x+1]);
} else if (cell.x==0 && cell.y!=0){
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x+1]);
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y+1][cell.x+1]);
} else if(cell.x!=0 && cell.y==0){
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y+1][cell.x+1]);
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x-1]);
} else if(cell.x!=8 && cell.y==8){
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y-1][cell.x+1]);
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x-1]);
} else if(cell.x==8 && cell.y!=8){
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x-1]);
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y-1][cell.x-1]);
} else {
listNeighbours.add(gameField[cell.y-1][cell.x+1]);
listNeighbours.add(gameField[cell.y][cell.x+1]);
listNeighbours.add(gameField[cell.y+1][cell.x+1]);
listNeighbours.add(gameField[cell.y+1][cell.x]);
listNeighbours.add(gameField[cell.y-1][cell.x]);
listNeighbours.add(gameField[cell.y+1][cell.x-1]);
listNeighbours.add(gameField[cell.y][cell.x-1]);
listNeighbours.add(gameField[cell.y+1][cell.x-1]);
}
return listNeighbours;
}
}