I'm doing an exercise that asks me if the mine is close to warn the user. So I used a lot of if-elseif, it's my first using these arrays and I wanted something more efficient, even if this works.
if((mineX > 0 && mineY > 0) && (mineX < 4 && mineY < 4)) {
if(quadrant[x][y] == quadrant[mineX-1][mineY-1] || quadrant[x][y] == quadrant[mineX+1][mineY+1] || quadrant[x][y] == quadrant[mineX-1][mineY] || quadrant[x][y] == quadrant[mineX][mineY-1] || quadrant[x][y] == quadrant[mineX+1][mineY] || quadrant[x][y] == quadrant[mineX][mineY+1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineX == 0) {
if(quadrant[x][y] == quadrant[mineX][mineY-1] || quadrant[x][y] == quadrant[mineX+1][mineY+1] || quadrant[x][y] == quadrant[mineX+1][mineY] || quadrant[x][y] == quadrant[mineX][mineY+1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineY == 0) {
if(quadrant[x][y] == quadrant[mineX-1][mineY] || quadrant[x][y] == quadrant[mineX+1][mineY+1] || quadrant[x][y] == quadrant[mineX+1][mineY] || quadrant[x][y] == quadrant[mineX][mineY+1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineX == 3) {
if(quadrant[x][y] == quadrant[mineX-1][mineY-1] || quadrant[x][y] == quadrant[mineX][mineY+1] || quadrant[x][y] == quadrant[mineX-1][mineY] || quadrant[x][y] == quadrant[mineX][mineY-1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineY == 3) {
if(quadrant[x][y] == quadrant[mineX-1][mineY-1] || quadrant[x][y] == quadrant[mineX+1][mineY] || quadrant[x][y] == quadrant[mineX-1][mineY] || quadrant[x][y] == quadrant[mineX][mineY-1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineX == 0 && mineY == 0) {
if(quadrant[x][y] == quadrant[mineX+1][mineY+1] || quadrant[x][y] == quadrant[mineX+1][mineY] || quadrant[x][y] == quadrant[mineX][mineY+1]) {
System.out.println("Warning! Mine in the surroundings!");
}
} else if(mineY == 3 && mineX == 3) {
if(quadrant[x][y] == quadrant[mineX-1][mineY-1] || quadrant[x][y] == quadrant[mineX-1][mineY] || quadrant[x][y] == quadrant[mineX][mineY-1]) {
System.out.println("Warning! Mine in the surroundings!");
}
}
It is possible doing this code more efficient/simple?
The 'board' it's 4x4 (0 - 1 - 2 - 3)
Aucun commentaire:
Enregistrer un commentaire