add medium field + min window width and height
This commit is contained in:
1 file changed
+56
-4
@@ -9,6 +9,7 @@ import javafx.scene.Scene;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.input.KeyCombination;
|
||||
import javafx.scene.input.MouseButton;
|
||||
import javafx.scene.layout.GridPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
@@ -59,10 +60,20 @@ public class MinesUI
|
||||
private static final int EASY_WIDTH = 8;
|
||||
private static final int EASY_HEIGHT = 8;
|
||||
private static final int EASY_MINES = 10;
|
||||
private static final int MEDIUM_WIDTH = 16;
|
||||
private static final int MEDIUM_HEIGHT = 16;
|
||||
private static final int MEDIUM_MINES = 40;
|
||||
private static final int HARD_WIDTH = 36;
|
||||
private static final int HARD_HEIGHT = 16;
|
||||
private static final int HARD_MINES = 99;
|
||||
|
||||
private static final int EASY_WINDOW_WIDTH = 600;
|
||||
private static final int EASY_WINDOW_HEIGHT = 600;
|
||||
private static final int MEDIUM_WINDOW_WIDTH = 1000;
|
||||
private static final int MEDIUM_WINDOW_HEIGHT = 1000;
|
||||
private static final int HARD_WINDOW_WIDTH = 1800;
|
||||
private static final int HARD_WINDOW_HEIGHT = 1000;
|
||||
|
||||
private static final int STARTING_FLAGS = 0;
|
||||
private static final int STARTING_SECONDS = 0;
|
||||
private static final int TIMER_TICK_SECONDS = 1;
|
||||
@@ -164,6 +175,7 @@ public class MinesUI
|
||||
{
|
||||
final Label titleLabel;
|
||||
final Button easyButton;
|
||||
final Button mediumButton;
|
||||
final Button hardButton;
|
||||
final Label modeLabel;
|
||||
final Button toggleModeButton;
|
||||
@@ -176,10 +188,13 @@ public class MinesUI
|
||||
titleLabel.setStyle("-fx-font-size: 20px; -fx-font-weight: bold;");
|
||||
|
||||
easyButton = new Button("8 x 8 (Beginner)");
|
||||
mediumButton = new Button("16 x 16 (Intermediate)");
|
||||
hardButton = new Button("36 x 16 (Expert)");
|
||||
|
||||
easyButton.setPrefWidth(MENU_BUTTON_WIDTH);
|
||||
easyButton.setPrefHeight(MENU_BUTTON_HEIGHT);
|
||||
mediumButton.setPrefWidth(MENU_BUTTON_WIDTH);
|
||||
mediumButton.setPrefHeight(MENU_BUTTON_HEIGHT);
|
||||
hardButton.setPrefWidth(MENU_BUTTON_WIDTH);
|
||||
hardButton.setPrefHeight(MENU_BUTTON_HEIGHT);
|
||||
|
||||
@@ -195,15 +210,47 @@ public class MinesUI
|
||||
|
||||
modeInfoButton.setOnAction(e -> showInfo(primaryStage.getOwner()));
|
||||
|
||||
easyButton.setOnAction(e -> startGame(EASY_WIDTH, EASY_HEIGHT, EASY_MINES, primaryStage));
|
||||
hardButton.setOnAction(e -> startGame(HARD_WIDTH, HARD_HEIGHT, HARD_MINES, primaryStage));
|
||||
easyButton.setOnAction(e -> startGame(
|
||||
EASY_WIDTH,
|
||||
EASY_HEIGHT,
|
||||
EASY_MINES,
|
||||
primaryStage,
|
||||
EASY_WINDOW_WIDTH,
|
||||
EASY_WINDOW_HEIGHT
|
||||
)
|
||||
);
|
||||
mediumButton.setOnAction(e -> startGame(
|
||||
MEDIUM_WIDTH,
|
||||
MEDIUM_HEIGHT,
|
||||
MEDIUM_MINES,
|
||||
primaryStage,
|
||||
MEDIUM_WINDOW_WIDTH,
|
||||
MEDIUM_WINDOW_HEIGHT
|
||||
)
|
||||
);
|
||||
hardButton.setOnAction(e -> startGame(
|
||||
HARD_WIDTH,
|
||||
HARD_HEIGHT,
|
||||
HARD_MINES,
|
||||
primaryStage,
|
||||
HARD_WINDOW_WIDTH,
|
||||
HARD_WINDOW_HEIGHT
|
||||
)
|
||||
);
|
||||
|
||||
root = new VBox(VERTICAL_MARGIN);
|
||||
root.setPadding(new Insets(PADDING));
|
||||
root.setAlignment(Pos.CENTER);
|
||||
modeButtons.setAlignment(Pos.CENTER);
|
||||
|
||||
root.getChildren().addAll(titleLabel, easyButton, hardButton, modeLabel, modeButtons);
|
||||
root.getChildren().addAll(
|
||||
titleLabel,
|
||||
easyButton,
|
||||
mediumButton,
|
||||
hardButton,
|
||||
modeLabel,
|
||||
modeButtons
|
||||
);
|
||||
|
||||
scene = new Scene(root, WINDOW_WIDTH, WINDOW_HEIGHT);
|
||||
|
||||
@@ -228,7 +275,9 @@ public class MinesUI
|
||||
final int width,
|
||||
final int height,
|
||||
final int mines,
|
||||
final Stage ownerStage
|
||||
final Stage ownerStage,
|
||||
final int windowWidth,
|
||||
final int windowHeight
|
||||
) {
|
||||
final Stage gameStage;
|
||||
final VBox root;
|
||||
@@ -281,6 +330,9 @@ public class MinesUI
|
||||
scene = new Scene(root, WINDOW_WIDTH, WINDOW_HEIGHT);
|
||||
|
||||
gameStage = new Stage();
|
||||
gameStage.setResizable(true);
|
||||
gameStage.setMinWidth(windowWidth);
|
||||
gameStage.setMinHeight(windowHeight);
|
||||
gameStage.initOwner(ownerStage);
|
||||
gameStage.setTitle("Random Mines " + width + "x" + height + " - A Minesweeper Game");
|
||||
gameStage.setScene(scene);
|
||||
|
||||
Reference in new issue
Block a user