Та же проблема с третьим пунктом, ранее приведенные решения мне не подходят т.к. мой нубский код сильно отличается от приведенных ранее))
package com.javarush.games.minesweeper;
import com.javarush.engine.cell.*;
public class MinesweeperGame extends Game {
private static final int SIDE = 9;
private int countMinesOnField;
private GameObject[][] gameField = new GameObject[SIDE][SIDE];
public void initialize(){
setScreenSize(SIDE, SIDE);
createGame();
}
private void createGame(){
for(int i=0;i < SIDE; i++){
for(int j=0;j < SIDE; j++){
if(getRandomNumber(10)==5){
gameField[i][j] = new GameObject(j,i,true);
countMinesOnField++;
}
else {
gameField[i][j] = new GameObject(j,i,false);
}
setCellColor(i, j, Color.BLUE);
}
}
countMineNeighbors();
}
private void countMineNeighbors(){
for(int i=0;i < SIDE; i++){
for(int j=0;j < SIDE; j++){
if(gameField[i][j].isMine==false){
gameField[i][j].countMineNeighbors = getNeighbors(gameField[i][j]);
// int mine = getNeighbors(gameField[i][j]);
//gameField[i][j].countMineNeighbors = mine;
}
}
}
}
public int getNeighbors(GameObject gameObject){
int Mine =0;
int i =gameObject.y;
int j =gameObject.x;
for(int i2=i-1; i2 < i+2; i2++){
for(int j2=j-1; j2 < j +2; j2++){
if(i2 < 0 || j2 <0 || i2 >= SIDE || j2 >= SIDE){
break;
}
else {
if((gameObject.isMine==true)){
Mine++;
}
}
}
}
return Mine;
}
}