diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java index 256f30686e6616e7ee84022b52351ba018ff57b0..bf3d708f12b4892aadc799006883cc0952a66b7c 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/IntroController.java @@ -27,7 +27,7 @@ public class IntroController implements Initializable { @Override public void initialize(URL url, ResourceBundle resourceBundle) { introParent.setStyle("-fx-background-color: black;"); - File file = new File("src/main/resources/textures/videos/monke.mp4"); + File file = new File("src/main/resources/textures/videos/pepe.mp4"); Media media = new Media(file.toURI().toString()); MediaPlayer mediaPlayer = new MediaPlayer(media); introMediaView.setMediaPlayer(mediaPlayer); diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java index 8e2784f62386f3ec6574585e078e9f02451893c4..4b1018783bbf57e9f9a763387e92b21b929b20c8 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java @@ -2,6 +2,7 @@ package de.hdm_stuttgart.battlearena.Controller; import javafx.fxml.FXML; import javafx.scene.control.Button; +import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; import javafx.stage.Stage; @@ -12,10 +13,17 @@ public class MainMenuController { public Button exitButton; private final SceneLoader sceneLoader = new SceneLoader(); - public void playScene() { + private void switchScene(String name) { // get(0) returns the first item from the getChildren() List parent.getChildren().clear(); - parent.getChildren().add(sceneLoader.loadScene("Play")); + parent.getChildren().add(sceneLoader.loadScene(name)); + } + public void playScene() { + switchScene("Play"); + } + + public void statisticsScene() { + switchScene("Statistics"); } public void exit() { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java new file mode 100644 index 0000000000000000000000000000000000000000..18d847ac4f8096c062c9a05c14ae65e11342ab93 --- /dev/null +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/StatisticsController.java @@ -0,0 +1,20 @@ +package de.hdm_stuttgart.battlearena.Controller; + +import javafx.fxml.FXML; +import javafx.scene.chart.PieChart; +import javafx.scene.layout.VBox; +import javafx.scene.text.Text; + +public class StatisticsController { + + @FXML public Text blocks, deaths, gameTime, gamesLost, gamesWon, kills; + @FXML public VBox parent; + @FXML public PieChart kd, wl; + SceneLoader sceneLoader = new SceneLoader(); + + public void mainMenuScene() { + parent.getChildren().clear(); + parent.getChildren().add(sceneLoader.loadScene("MainMenu")); + } +} + diff --git a/src/main/resources/fxml/MainMenu.fxml b/src/main/resources/fxml/MainMenu.fxml index b64746012e4f0b7664093239dea69421b03f30f2..f7ecaa7bb0e9a531363f6b1e9e771f27b2bec549 100644 --- a/src/main/resources/fxml/MainMenu.fxml +++ b/src/main/resources/fxml/MainMenu.fxml @@ -16,7 +16,7 @@ </VBox.margin> </Button> <Button mnemonicParsing="false" text="Map Creator" VBox.vgrow="ALWAYS" /> - <Button mnemonicParsing="false" text="Statistics" VBox.vgrow="ALWAYS" /> + <Button mnemonicParsing="false" onAction="#statisticsScene" text="Statistics" VBox.vgrow="ALWAYS" /> <Button fx:id="exitButton" alignment="CENTER" mnemonicParsing="false" onAction="#exit" text="Exit" /> <Pane VBox.vgrow="ALWAYS" /> <Pane layoutX="10.0" layoutY="395.0" VBox.vgrow="ALWAYS" /> diff --git a/src/main/resources/fxml/MenuBorderPane.fxml b/src/main/resources/fxml/MenuBorderPane.fxml index 164bd6c9283570c62e029f9f80790dd7df2cb4fe..3d57e01ff6b3502f741c6c780cf56e6c04bf6419 100644 --- a/src/main/resources/fxml/MenuBorderPane.fxml +++ b/src/main/resources/fxml/MenuBorderPane.fxml @@ -4,13 +4,12 @@ <?import javafx.scene.image.Image?> <?import javafx.scene.image.ImageView?> <?import javafx.scene.layout.BorderPane?> -<?import javafx.scene.media.MediaView?> <BorderPane id="mainMenu" fx:id="parent" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MenuBorderPaneController"> <right> <Button fx:id="btnRight" mnemonicParsing="false" onAction="#easterEgg" prefWidth="111.0" BorderPane.alignment="BOTTOM_CENTER"> <graphic> - <ImageView fx:id="imgRight" fitHeight="246.0" fitWidth="156.0" pickOnBounds="true" preserveRatio="true"> + <ImageView fx:id="imgRight" fitHeight="845.0" fitWidth="799.0" pickOnBounds="true" preserveRatio="true"> <image> <Image url="@../textures/images/gear_with_shadow.png" /> </image> @@ -21,7 +20,7 @@ <left> <Button mnemonicParsing="false" BorderPane.alignment="BOTTOM_CENTER"> <graphic> - <ImageView fx:id="imgLeft" fitHeight="328.0" fitWidth="163.0" pickOnBounds="true" preserveRatio="true"> + <ImageView fx:id="imgLeft" fitHeight="904.0" fitWidth="856.0" pickOnBounds="true" preserveRatio="true"> <image> <Image url="@../textures/images/dont_delete_or_ui_will_break.png" /> </image> @@ -29,7 +28,4 @@ </graphic> </Button> </left> - <center> - <MediaView fx:id="introMediaView" fitHeight="200.0" fitWidth="200.0" BorderPane.alignment="CENTER" /> - </center> </BorderPane> diff --git a/src/main/resources/fxml/Statistics.fxml b/src/main/resources/fxml/Statistics.fxml new file mode 100644 index 0000000000000000000000000000000000000000..cb429d7b51d3d377a00e0495feee430c61cd7998 --- /dev/null +++ b/src/main/resources/fxml/Statistics.fxml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.chart.PieChart?> +<?import javafx.scene.control.Button?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.VBox?> +<?import javafx.scene.text.Text?> + + +<VBox fx:id="parent" alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" spacing="50.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.StatisticsController"> + <children> + <HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="30.0"> + <children> + <VBox alignment="CENTER_RIGHT" prefHeight="200.0" prefWidth="100.0" spacing="10.0" HBox.hgrow="ALWAYS"> + <children> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Kills:" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Deaths:" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Blocks Destroyed:" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Games won:" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Games lost:" /> + <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Ingame time:" /> + </children> + </VBox> + <VBox alignment="CENTER_LEFT" prefHeight="200.0" prefWidth="100.0" spacing="10.0" HBox.hgrow="ALWAYS"> + <children> + <Text fx:id="kills" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + <Text fx:id="deaths" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + <Text fx:id="blocks" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + <Text fx:id="gamesWon" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + <Text fx:id="gamesLost" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + <Text fx:id="gameTime" strokeType="OUTSIDE" strokeWidth="0.0" text="Text" /> + </children> + <HBox.margin> + <Insets /> + </HBox.margin> + </VBox> + <VBox prefHeight="200.0" prefWidth="100.0"> + <children> + <PieChart fx:id="kd" /> + <PieChart fx:id="wl" /> + </children> + </VBox> + </children> + </HBox> + <Button mnemonicParsing="false" onAction="#mainMenuScene" text="Back" /> + </children> +</VBox> diff --git a/src/main/resources/textures/videos/pepe.mp4 b/src/main/resources/textures/videos/pepe.mp4 index 8879485f00eac8380ad92344496ecae392562fd2..51a5f0763924b4c623ac2b198d50b272b4758b15 100644 Binary files a/src/main/resources/textures/videos/pepe.mp4 and b/src/main/resources/textures/videos/pepe.mp4 differ