diff --git a/src/killer_sokoban/Main.java b/src/killer_sokoban/Main.java index 126919bb7687899231d5eb0ddd877b8412842791..58fb925fbde62ff8c53449810f2456475ca91966 100644 --- a/src/killer_sokoban/Main.java +++ b/src/killer_sokoban/Main.java @@ -7,11 +7,16 @@ import java.util.Map.Entry; import javafx.application.Application; import javafx.event.EventHandler; -import javafx.scene.Group; +import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.HBox; +import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; +import javafx.scene.text.Text; import javafx.stage.Stage; @@ -59,11 +64,33 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { // Ablak felépítése - primaryStage.setTitle("My super killer sokoban"); - Group root = new Group(); + primaryStage.setTitle("Killer Sokoban - SPoF"); + BorderPane root = new BorderPane(); + root.setStyle("-fx-background-color: #505050"); + root.setStyle("-fx-font-family: 'Rockwell Condensed', Consolas, sans-serif"); + root.setStyle("-fx-text-fill: #ffffff"); + + //Canvas holder felépítése + StackPane mapHolder = new StackPane(); + mapHolder.setAlignment(Pos.CENTER); + mapHolder.setStyle("-fx-background-color: #505050"); + root.setCenter(mapHolder); + + //Vászon felépítése Canvas canvas = new Canvas(600, 480); view.setCanvas(canvas); - root.getChildren().add(canvas); + mapHolder.getChildren().add(canvas); + + //Állapotsor felépítése + HBox pointsContainer = new HBox(); + pointsContainer.setStyle("-fx-background-color: #404040; -fx-font-size: 10pt"); + root.setBottom(pointsContainer); + view.pointBar = new Text("w1: 0 points\tw2: 0 points"); + view.pointBar.setFill(Color.WHITE); + pointsContainer.getChildren().add(view.pointBar); + + + //Ablak megjelenítése primaryStage.setScene(new Scene(root)); primaryStage.show(); @@ -114,6 +141,8 @@ public class Main extends Application { return getKeyByValue(moveables, m); } + public static int getWorkerPoint(String wName) { return workers.get(wName).getPoints(); } + public static void deleteWorker(Worker w) { workers.remove(getKeyByValue(workers, w)); diff --git a/src/killer_sokoban/View.java b/src/killer_sokoban/View.java index 6e0df24fcd7ef1214667644af91fa737c1d771a1..fdbca37d05d99037e786d9ed4f8689d3b8677fc2 100644 --- a/src/killer_sokoban/View.java +++ b/src/killer_sokoban/View.java @@ -4,7 +4,8 @@ import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.Image; import javafx.scene.paint.Color; - +import javafx.scene.text.Text; + public class View { private int line, column; @@ -21,11 +22,16 @@ public class View { private Image switchFieldImg=new Image("file:GIMPimages/SwitchField.png"); private Image targetFieldImg=new Image("file:GIMPimages/TargetField.png"); private Image wallImg=new Image("file:GIMPimages/Wall.png"); + + Text pointBar; //A pontokat ide írjuk ki. public void init(int line, int column) { this.line=line; this.column=column; + + gc.getCanvas().setWidth(tileSize*column); + gc.getCanvas().setHeight(tileSize*line); } public void setCanvas(Canvas c) { @@ -41,6 +47,9 @@ public class View { for (x=0;x<column;x++) for (y=0;y<line;y++) Main.drawRequiredFor(y,x); + + //pontok frissítése + pointBar.setText("w1: " + Main.getWorkerPoint("w1") +" points\tw2: " + Main.getWorkerPoint("w2") + " points"); } public void drawAbstract() {