diff --git a/src/main/java/latice/application/LaticeApplicationWindow.java b/src/main/java/latice/application/LaticeApplicationWindow.java index c7cd707..9e41a1f 100644 --- a/src/main/java/latice/application/LaticeApplicationWindow.java +++ b/src/main/java/latice/application/LaticeApplicationWindow.java @@ -33,6 +33,7 @@ import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; import javafx.scene.paint.ImagePattern; import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; @@ -65,9 +66,6 @@ public class LaticeApplicationWindow extends Application { Image image = new Image("backgroundLatice.png"); ImageView imageView = new ImageView(image); - Tile blueBird = new Tile(Color.NAVYBLUE, Shape.BIRD); - Tile greenLeaf = new Tile(Color.GREEN, Shape.FEATHER); - Tile redFlower = new Tile(Color.RED, Shape.FLOWER); ArrayList listRackTile; ArrayList listTileImage; @@ -86,10 +84,10 @@ public class LaticeApplicationWindow extends Application { StackPane stackPane = new StackPane(); static Stage primaryStageCopy; StackPane parentStackPane = new StackPane(); + Label moonErrorLabel = new Label(); int validateBtnClickedCount; - public static void main(String[] args) { Application.launch(args); @@ -106,10 +104,15 @@ public class LaticeApplicationWindow extends Application { //Title + VBox topVbox = new VBox(); Text title = new Text("Latice"); title.setFont(new Font(30)); - root.setTop(title); - root.setAlignment(title, Pos.CENTER); + topVbox.getChildren().add(title); + topVbox.setAlignment(Pos.CENTER); + moonErrorLabel.setFont(new Font(20)); + moonErrorLabel.setTextFill(realColor.RED); + topVbox.getChildren().add(moonErrorLabel); + root.setTop(topVbox); //Image Pane pane = new Pane(); @@ -170,7 +173,8 @@ public class LaticeApplicationWindow extends Application { System.out.println("-----------------"); //deck.displayListTile(); - + + //Confirm Button Image checkMark = new Image("checkMark.png"); @@ -182,18 +186,46 @@ public class LaticeApplicationWindow extends Application { @Override public void handle(MouseEvent arg0) { - validateBtnClickedCount++; + System.out.println("confirmed placement"); + validateBtnClickedCount++; + } }); + //With Image Rack rack2 = new Rack(deck); HBox rackImage = rack2.createTileImage(); - rackImage.getChildren().add(confirmButton); - rackImage.setMargin(rackImage.getChildren().get(4), new Insets(0,150,0,0)); + + + //RackChange Button + Image changeIconImage = new Image("changeIcon.png"); + ImageView changeIconView = new ImageView(changeIconImage); + Button changeButton = new Button("Change Rack", changeIconView); + + + changeButton.setOnMouseClicked(new EventHandler() { + + @Override + public void handle(MouseEvent arg0) { + + + System.out.println("Changing Rack"); + rack2.changeRack(); + + rackImage.getChildren().clear(); + + rackImage.getChildren().addAll(rack2.createTileImage(), confirmButton, changeButton); + + //Setting drag n drop on tiles + setDragnDropOnRack(rackImage); + } + + }); + rackImage.getChildren().addAll(confirmButton, changeButton); root.setBottom(rackImage); //Adding lists to Arraylists @@ -205,34 +237,8 @@ public class LaticeApplicationWindow extends Application { //------------------------------------------------------------------------ - - //Setting OnDragDetected on tiles - for (int i=0; i<5; i++) { - int a = i; - rackImage.getChildren().get(a).setOnDragDetected(new EventHandler() { - - @Override - public void handle(MouseEvent arg0) { - Dragboard dragboard = rackImage.getChildren().get(a).startDragAndDrop(TransferMode.ANY); - ClipboardContent content = new ClipboardContent(); - dragboard.setDragView(listTileImage.get(a)); - content.putString("Hello !"); - setIndexTileClicked(a); - dragboard.setContent(content); - arg0.consume(); - } - - }); - - rackImage.getChildren().get(a).setOnDragDone(new EventHandler() { - - @Override - public void handle(DragEvent arg0) { - - } - - }); - } + //Setting drag n drop on tiles + setDragnDropOnRack(rackImage); System.out.println((indexTileClicked)); ImagePattern imagePattern = new ImagePattern(listTileImage.get(getIndexTileClicked())); @@ -286,11 +292,20 @@ public class LaticeApplicationWindow extends Application { arg0.setDropCompleted(true); assocRectangleTile.put(r[a][b], listRackTile.get(getIndexTileClicked())); System.out.println(assocRectangleTile.toString()); + moonErrorLabel.setText(""); if (validateBtnClickedCount == 0){ if (r[a][b] == r[4][4]) { - System.out.println("MOON valid placement"); + System.out.println("MOON valid placement"); }else { + moonErrorLabel.setText("Error ! Please place the first tile on the moon"); + //removing all tiles from gameboard + for(int i=0; i() { + + @Override + public void handle(MouseEvent arg0) { + Dragboard dragboard = rackImage.getChildren().get(a).startDragAndDrop(TransferMode.ANY); + ClipboardContent content = new ClipboardContent(); + dragboard.setDragView(listTileImage.get(a)); + content.putString("Hello !"); + setIndexTileClicked(a); + dragboard.setContent(content); + arg0.consume(); + } + + }); + + rackImage.getChildren().get(a).setOnDragDone(new EventHandler() { + + @Override + public void handle(DragEvent arg0) { + + } + + }); + } + } public static void setRootLayout(StackPane root) { rootLayout = root; } @@ -364,5 +411,10 @@ public class LaticeApplicationWindow extends Application { MSC.setParentStackPane(parentStackPane); primaryStageCopy.setTitle("working"); } + + public void displayMoonError() { + } + + } diff --git a/src/main/java/latice/view/GameFinishedScreen.fxml b/src/main/java/latice/view/GameFinishedScreen.fxml index 95bf597..de9474d 100644 --- a/src/main/java/latice/view/GameFinishedScreen.fxml +++ b/src/main/java/latice/view/GameFinishedScreen.fxml @@ -1,8 +1,26 @@ + + + + + - - + + +
+ + +
- diff --git a/src/main/resources/changeIcon.png b/src/main/resources/changeIcon.png new file mode 100644 index 0000000..73da4b0 Binary files /dev/null and b/src/main/resources/changeIcon.png differ