show bombs on death

This commit is contained in:
tyler :3 2024-05-15 21:28:51 +01:00
parent f2fc7044c8
commit ba7dea1436
2 changed files with 1091 additions and 1578 deletions

View File

@ -14,11 +14,15 @@ public class Controller {
@FXML
GridPane grid;
@FXML
ImageView smiley;
// i already said i'm sorry!
Set<String> visitedTiles = new HashSet<>();
Grid gridHandler;
GridWrapper wrapper;
boolean gameOver = false;
@FXML
private void initialize() {
@ -28,11 +32,20 @@ public class Controller {
@FXML
private void gridClicked(MouseEvent event) {
if (gameOver)
return;
Node tileClicked = event.getPickResult().getIntersectedNode();
int column = GridPane.getColumnIndex(tileClicked);
int row = GridPane.getRowIndex(tileClicked);
if (wrapper.atColumn(column).atRow(row).isBomb()) {
gameOver = true;
System.out.println("DEAD!!!");
URL smileyURL = getClass().getResource("img/face_dead.png");
smiley.setImage(new Image(smileyURL.toString()));
ImageView tileClickedImage = (ImageView) tileClicked;
URL deathBombURL = getClass().getResource("img/bomb_death.png");
tileClickedImage.setImage(new Image(deathBombURL.toString()));
showAllBombs();
return;
// todo do stuff!!
}
@ -41,6 +54,20 @@ public class Controller {
expandGrid(column, row);
}
void showAllBombs() {
Node[] children = grid.getChildren().toArray(new Node[0]);
int column, row;
for (column = 0; column < 30; ++column) {
for (row = 0; row < 16; ++row) {
if (wrapper.atColumn(column).atRow(row).isBomb()) {
ImageView currentBombTile = (ImageView) children[column + row * 30];
URL bombRevealedURL = getClass().getResource("img/bomb_revealed.png");
currentBombTile.setImage(new Image(bombRevealedURL.toString()));
}
}
}
}
void setAdjacentCount(Node tileClicked) {
int column = GridPane.getColumnIndex(tileClicked);
int row = GridPane.getRowIndex(tileClicked);

File diff suppressed because it is too large Load Diff