show bombs on death
This commit is contained in:
parent
f2fc7044c8
commit
ba7dea1436
@ -14,11 +14,15 @@ public class Controller {
|
|||||||
@FXML
|
@FXML
|
||||||
GridPane grid;
|
GridPane grid;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
ImageView smiley;
|
||||||
|
|
||||||
|
|
||||||
// i already said i'm sorry!
|
// i already said i'm sorry!
|
||||||
Set<String> visitedTiles = new HashSet<>();
|
Set<String> visitedTiles = new HashSet<>();
|
||||||
Grid gridHandler;
|
Grid gridHandler;
|
||||||
GridWrapper wrapper;
|
GridWrapper wrapper;
|
||||||
|
boolean gameOver = false;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void initialize() {
|
private void initialize() {
|
||||||
@ -28,11 +32,20 @@ public class Controller {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private void gridClicked(MouseEvent event) {
|
private void gridClicked(MouseEvent event) {
|
||||||
|
if (gameOver)
|
||||||
|
return;
|
||||||
Node tileClicked = event.getPickResult().getIntersectedNode();
|
Node tileClicked = event.getPickResult().getIntersectedNode();
|
||||||
int column = GridPane.getColumnIndex(tileClicked);
|
int column = GridPane.getColumnIndex(tileClicked);
|
||||||
int row = GridPane.getRowIndex(tileClicked);
|
int row = GridPane.getRowIndex(tileClicked);
|
||||||
if (wrapper.atColumn(column).atRow(row).isBomb()) {
|
if (wrapper.atColumn(column).atRow(row).isBomb()) {
|
||||||
|
gameOver = true;
|
||||||
System.out.println("DEAD!!!");
|
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;
|
return;
|
||||||
// todo do stuff!!
|
// todo do stuff!!
|
||||||
}
|
}
|
||||||
@ -41,6 +54,20 @@ public class Controller {
|
|||||||
expandGrid(column, row);
|
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) {
|
void setAdjacentCount(Node tileClicked) {
|
||||||
int column = GridPane.getColumnIndex(tileClicked);
|
int column = GridPane.getColumnIndex(tileClicked);
|
||||||
int row = GridPane.getRowIndex(tileClicked);
|
int row = GridPane.getRowIndex(tileClicked);
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user