diff --git a/app/src/main/java/school_project/GameUI.java b/app/src/main/java/school_project/GameUI.java index d15a53b..04f911f 100644 --- a/app/src/main/java/school_project/GameUI.java +++ b/app/src/main/java/school_project/GameUI.java @@ -1,24 +1,28 @@ package school_project; +import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import school_project.Utils.MatrixShape; +import java.io.FileNotFoundException; + public class GameUI extends BorderPane { public final static int SEGMENT_SIZE = 50; - public GameUI(Map level) { + public final static int SPACE_SIZE = 5; + public GameUI(Map level) throws FileNotFoundException { super(); - MatrixShape grid = new MatrixShape(level); + MatrixShape grid = new MatrixShape(level, true); grid.setAlignment(Pos.CENTER); grid.setColor(Color.WHITE); HBox pieces = new HBox(); pieces.setSpacing(10); for (Piece p : level.getPieces()) { - MatrixShape _piece = new MatrixShape(p); + MatrixShape _piece = new MatrixShape(p, false); _piece.setColor(p.getColor()); pieces.getChildren().add(_piece); } diff --git a/app/src/main/java/school_project/Utils/MatrixShape.java b/app/src/main/java/school_project/Utils/MatrixShape.java index 8574295..1db303a 100644 --- a/app/src/main/java/school_project/Utils/MatrixShape.java +++ b/app/src/main/java/school_project/Utils/MatrixShape.java @@ -1,25 +1,31 @@ package school_project.Utils; +import javafx.scene.Node; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.layout.GridPane; import javafx.scene.paint.Color; import javafx.scene.paint.Paint; import javafx.scene.shape.Rectangle; +import org.checkerframework.common.reflection.qual.GetClass; +import school_project.Controller; import school_project.GameUI; import school_project.Shape; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.util.ArrayList; public class MatrixShape extends GridPane { - public MatrixShape(){ - super(); - } - public MatrixShape(Shape shape){ + public MatrixShape(Shape shape, boolean texture) throws FileNotFoundException { super(); + setHgap(GameUI.SPACE_SIZE); + setVgap(GameUI.SPACE_SIZE); boolean[][] shape_matrix = shape.getShape(); for (int i = 0; i < shape_matrix.length; i++) { for (int j = 0; j < shape_matrix[i].length; j++) { if(shape_matrix[i][j]){ - Rectangle _cell = new Rectangle(GameUI.SEGMENT_SIZE, GameUI.SEGMENT_SIZE); + Node _cell = texture ? new ImageView(new Image(new FileInputStream(Controller.class.getResource("tile.png").getFile()))) : new Rectangle(GameUI.SEGMENT_SIZE, GameUI.SEGMENT_SIZE); add(_cell, j, i); } } diff --git a/app/src/main/resources/school_project/tile.png b/app/src/main/resources/school_project/tile.png new file mode 100644 index 0000000..98e7c6e Binary files /dev/null and b/app/src/main/resources/school_project/tile.png differ