make white space on detached pieces
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing

This commit is contained in:
Debucquoy Anthony 2023-05-05 12:03:40 +02:00
parent f0e1f8a56b
commit 11e831d2a4
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
2 changed files with 20 additions and 2 deletions

View File

@ -22,9 +22,22 @@ public class GameUI extends Group{
getChildren().add(grid); getChildren().add(grid);
Vec2 piece_space = new Vec2(SPACE_SIZE, SPACE_SIZE);
int column = 0;
for (Piece p : level.getPieces()) { for (Piece p : level.getPieces()) {
MatrixShape _piece = new MatrixShape(p); MatrixShape _piece = new MatrixShape(p);
_piece.setLayoutX(piece_space.x);
_piece.setLayoutY(piece_space.y);
piece_space.y += _piece.boundary_size.y;
if(piece_space.y >= Controller.screen_size.y){
column++;
piece_space.y = SPACE_SIZE;
piece_space.x = (SEGMENT_SIZE*3 + SPACE_SIZE*4 )* column;
}
// Pieces Events // Pieces Events
_piece.setOnMouseClicked(event -> { _piece.setOnMouseClicked(event -> {
if(event.getButton() == MouseButton.SECONDARY){ if(event.getButton() == MouseButton.SECONDARY){

View File

@ -4,6 +4,7 @@ import javafx.scene.Node;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane; import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Paint; import javafx.scene.paint.Paint;
import javafx.scene.shape.Rectangle; import javafx.scene.shape.Rectangle;
import school_project.*; import school_project.*;
@ -34,8 +35,8 @@ public class MatrixShape extends GridPane {
boolean[][] shape_matrix = shape.getShape(); boolean[][] shape_matrix = shape.getShape();
for (int i = 0; i < shape_matrix.length; i++) { for (int i = 0; i < shape_matrix.length; i++) {
for (int j = 0; j < shape_matrix[i].length; j++) { for (int j = 0; j < shape_matrix[i].length; j++) {
if(shape_matrix[i][j]){
Node _cell; Node _cell;
if(shape_matrix[i][j]){
if(shape instanceof Piece){ if(shape instanceof Piece){
Piece p = (Piece) shape; Piece p = (Piece) shape;
_cell = new Rectangle(GameUI.SEGMENT_SIZE, GameUI.SEGMENT_SIZE); _cell = new Rectangle(GameUI.SEGMENT_SIZE, GameUI.SEGMENT_SIZE);
@ -47,8 +48,12 @@ public class MatrixShape extends GridPane {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
} }
add(_cell, j, i);
} }
else{
_cell = new Pane();
((Pane) _cell).setPrefSize(GameUI.SEGMENT_SIZE, GameUI.SEGMENT_SIZE);
}
add(_cell, j, i);
} }
} }
boundary_size = new Vec2((GameUI.SEGMENT_SIZE + GameUI.SPACE_SIZE) * shape.getWidth(), (GameUI.SEGMENT_SIZE + GameUI.SPACE_SIZE) * shape.getHeight()); boundary_size = new Vec2((GameUI.SEGMENT_SIZE + GameUI.SPACE_SIZE) * shape.getWidth(), (GameUI.SEGMENT_SIZE + GameUI.SPACE_SIZE) * shape.getHeight());