Adding Gap and texture

This commit is contained in:
Debucquoy Anthony 2023-05-03 11:11:16 +02:00
parent 4583bbd7e6
commit 15e1745ad1
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
3 changed files with 18 additions and 8 deletions

View File

@ -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);
}

View File

@ -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);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB