first click should always be a zero

This commit is contained in:
LunarAkai 2024-03-24 19:04:27 +01:00
commit 8ec019713c
2 changed files with 56 additions and 3 deletions

View file

@ -45,12 +45,17 @@ public class Game {
gameover = false;
generateCells();
generateMines();
generateNumbers();
//generateMines();
//generateNumbers();
board.draw(state, tilemap);
}
public void firstClick(int xFirst, int yFirst) {
generateMines(xFirst, yFirst);
generateNumbers();
}
private void generateCells() {
for (int x = 0; x < width; x ++) {
for (int y = 0; y < height; y++) {
@ -62,11 +67,52 @@ public class Game {
}
}
private void generateMines() {
private void generateMines(int xFirst, int yFirst) {
for (int i = 0; i < mineCount; i++) {
int x = (int) (Math.random() * width);
int y = (int) (Math.random() * height);
if(x == xFirst && y == yFirst) {
i--;
continue;
}
if(x == xFirst +1 && y == yFirst) {
i--;
continue;
}
if(x == xFirst +1 && y == yFirst -1) {
i--;
continue;
}
if(x == xFirst -1 && y == yFirst) {
i--;
continue;
}
if(x == xFirst && y == yFirst +1) {
i--;
continue;
}
if(x == xFirst && y == yFirst -1) {
i--;
continue;
}
if(x == xFirst +1 && y == yFirst +1) {
i--;
continue;
}
if(x == xFirst +1 && y == yFirst -1) {
i--;
continue;
}
if(x == xFirst -1 && y == yFirst -1) {
i--;
continue;
}
if(x == xFirst -1 && y == yFirst +1) {
i--;
continue;
}
while (state[x][y].type == Cell.CellType.Mine) {
x++;