Show Map and pieces shape in gameui
This commit is contained in:
parent
53972cd1ef
commit
c68e680768
29
app/src/main/java/school_project/GameUI.java
Normal file
29
app/src/main/java/school_project/GameUI.java
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package school_project;
|
||||||
|
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
import school_project.Utils.MatrixShape;
|
||||||
|
|
||||||
|
public class GameUI extends BorderPane {
|
||||||
|
public final static int SEGMENT_SIZE = 50;
|
||||||
|
public GameUI(Map level) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
MatrixShape grid = new MatrixShape(level);
|
||||||
|
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);
|
||||||
|
_piece.setColor(Color.RED); // TODO: Change with piece color
|
||||||
|
pieces.getChildren().add(_piece);
|
||||||
|
}
|
||||||
|
|
||||||
|
setCenter(grid);
|
||||||
|
setBottom(pieces);
|
||||||
|
}
|
||||||
|
}
|
37
app/src/main/java/school_project/Utils/MatrixShape.java
Normal file
37
app/src/main/java/school_project/Utils/MatrixShape.java
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package school_project.Utils;
|
||||||
|
|
||||||
|
import javafx.scene.layout.GridPane;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.scene.paint.Paint;
|
||||||
|
import javafx.scene.shape.Rectangle;
|
||||||
|
import school_project.GameUI;
|
||||||
|
import school_project.Shape;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class MatrixShape extends GridPane {
|
||||||
|
public MatrixShape(){
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
public MatrixShape(Shape shape){
|
||||||
|
super();
|
||||||
|
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);
|
||||||
|
add(_cell, j, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColor(Paint p) {
|
||||||
|
getChildren().forEach(node -> {
|
||||||
|
if(node instanceof Rectangle r){
|
||||||
|
r.setFill(p);
|
||||||
|
r.setStroke(Color.BLACK);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user