diff --git a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin index 11b4101..a5c831f 100644 Binary files a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin and b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin differ diff --git a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.lock b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.lock index 3c6b230..0434bd4 100644 Binary files a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.lock and b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.lock differ diff --git a/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.bin b/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.bin index 23c31ec..a2b4d78 100644 Binary files a/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.bin and b/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.bin differ diff --git a/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.lock b/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.lock index 9d886b2..87c1573 100644 Binary files a/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.lock and b/Happy_Bird/.gradle/7.1.1/fileHashes/fileHashes.lock differ diff --git a/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 81575cc..5f005b6 100644 Binary files a/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class b/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class index b221faf..bee0caf 100644 Binary files a/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class and b/Happy_Bird/build/classes/java/main/com/example/happy_bird/HappyBirdMain.class differ diff --git a/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar b/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar index 78d94bd..687dcb7 100644 Binary files a/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar and b/Happy_Bird/build/libs/Happy_Bird-1.0-SNAPSHOT.jar differ diff --git a/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin b/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin index 2528f19..0295812 100644 Binary files a/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin and b/Happy_Bird/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java index 4eca923..5bad4e4 100644 --- a/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java +++ b/Happy_Bird/src/main/java/com/example/happy_bird/HappyBirdMain.java @@ -23,6 +23,7 @@ public class HappyBirdMain extends Application { /*Panes erstellen und zuweisen*/ private final Pane pane = new Pane(); private final Pane pause = new Pane(); + private final Pane endScreen = new Pane(); /*Scene erstellen und zuweisen*/ private final Scene scene = new Scene(pane, 800, 700); @@ -38,6 +39,9 @@ public class HappyBirdMain extends Application { private final Label soundLabelPause = new Label("SOUND"); private final Label highscoreMenuLabel = new Label(); + private final Label currentScoreEndscreenLabel = new Label("YOUR SCORE: "); + private final Label endScreenHeadline = new Label("GAME OVER"); + /*Labels in Arrays speichern*/ private final Label[] labels = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel, highscoreMenuLabel}; private final Label[] headlineLabels = {headline}; @@ -45,7 +49,7 @@ public class HappyBirdMain extends Application { /*Buttons erstellen und zuweisen*/ private final Button startButton = new Button("START"); private final Button highscoresButton = new Button("HIGHSCORES"); - private final Button personalHighscoresButton = new Button ("YOUR HIGHSCORES"); + private final Button settingsButton = new Button("EINSTELLUNGEN"); private final Button startGameButton = new Button("SPIEL STARTEN"); private final Button menuButton = new Button("ZURÜCK"); @@ -56,11 +60,16 @@ public class HappyBirdMain extends Application { private final Button backButtonPause = new Button("ZURÜCK"); private final Button background1 = new Button(); private final Button background2 = new Button(); + + private final Button backMenuButton = new Button(); + private final Button restartGameButton = new Button(); + private final Button personalHighscoresButton = new Button ("YOUR SCORES"); /*Buttons in Arrays speichern*/ - private final Button[] buttons = {startButton, highscoresButton, personalHighscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause}; + private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause, backMenuButton, restartGameButton, personalHighscoresButton}; private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause}; private final Button[] backgroundButtons = {background1, background2}; + private final Button[] endscreenButtons = {backMenuButton, restartGameButton, personalHighscoresButton}; /*Textfelder erstellen und zuweisen*/ private final TextField name = new TextField(); @@ -457,6 +466,9 @@ public class HappyBirdMain extends Application { "-fx-alignment: center;"); } + + + /*** * Hauptmenü wird ausgeblendet, Nameneingabe folgt */ @@ -935,11 +947,72 @@ public class HappyBirdMain extends Application { return true; } + /*** + * formatiert den End-Screen + */ + public void endScreenFormating() { + /*Endscreen-Pane formatieren*/ + endScreen.setPrefSize(400, 500); + pause.setLayoutX(200); + pause.setLayoutY(100); + pause.setStyle("-fx-background-color: #DED894; " + + "-fx-border-width: 5px;" + + "-fx-border-color: #543847;" + + "-fx-border-radius: 15px;" + + "-fx-background-radius: 20px;"); + + endScreenHeadline.setPrefSize(300,50); + endScreenHeadline.setLayoutX(50); + endScreenHeadline.setLayoutY(10); + endScreenHeadline.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + + currentScoreEndscreenLabel.setPrefSize(250,50); + currentScoreEndscreenLabel.setLayoutX(75); + currentScoreEndscreenLabel.setLayoutY(100); + currentScoreEndscreenLabel.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + } + public void generateEndScreen() { + endScreenFormating(); /*Name und Highscores ausblenden, Pause-Button ausblenden*/ nameLabel.setVisible(false); highscoreLabel.setVisible(false); pauseButton.setVisible(false); + currentScoreLabel.setVisible(false); + + /**/ + endScreen.setVisible(true); + endScreen.getChildren().add(currentScoreEndscreenLabel); + currentScoreEndscreenLabel.setVisible(true); + + endScreen.getChildren().add(endScreenHeadline); + endScreenHeadline.setVisible(true); + + /* Buttons einfügen */ + int yPosition = 200; + for (Button button : endscreenButtons) { + button.setLayoutX(100); + button.setLayoutY(yPosition); + yPosition += 100; + endScreen.getChildren().add(button); + button.setVisible(true); + } + pane.getChildren().add(endScreen); + + /* Click-Events für die Buttons */ + backMenuButton.setOnAction(event -> backMenuButtonClick()); + personalHighscoresButton.setOnAction(event -> personalHighscoresButtonClick()); + restartGameButton.setOnAction(event -> restartGameButtonClick()); + + //AB HIER MÜLL /*Überschrift einblenden - Text auf Game Over setzen */ headline.setVisible(true); @@ -951,5 +1024,22 @@ public class HappyBirdMain extends Application { menuButton.setVisible(true); /*Button für persönliche Highscores einblenden und positionieren*/ personalHighscoresButton.setVisible(true); + //personalHighscoresButton.setLayoutX(); + //personalHighscoresButton.setLayoutY(); + + } + + private void restartGameButtonClick() { + pane.getChildren().remove(endScreen); + startGameButtonClick(); + } + + private void personalHighscoresButtonClick() { + + } + + private void backMenuButtonClick() { + pane.getChildren().remove(endScreen); + generateMenueScene(); } } \ No newline at end of file