Endscreen fertiggestellt, nur noch nicht eingebungen - Button-Clicks existieren
This commit is contained in:
		@@ -64,12 +64,13 @@ public class HappyBirdMain extends Application {
 | 
				
			|||||||
    private final Button backMenuButton = new Button();
 | 
					    private final Button backMenuButton = new Button();
 | 
				
			||||||
    private final Button restartGameButton = new Button();
 | 
					    private final Button restartGameButton = new Button();
 | 
				
			||||||
    private final Button personalHighscoresButton = new Button ("YOUR SCORES");
 | 
					    private final Button personalHighscoresButton = new Button ("YOUR SCORES");
 | 
				
			||||||
 | 
					    private final Button backEndscreenButton = new Button("ZURÜCK");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*Buttons in Arrays speichern*/
 | 
					    /*Buttons in Arrays speichern*/
 | 
				
			||||||
    private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause, backMenuButton, restartGameButton, personalHighscoresButton};
 | 
					    private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause, backMenuButton, restartGameButton, personalHighscoresButton, backEndscreenButton};
 | 
				
			||||||
    private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
 | 
					    private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
 | 
				
			||||||
    private final Button[] backgroundButtons = {background1, background2};
 | 
					    private final Button[] backgroundButtons = {background1, background2};
 | 
				
			||||||
    private final Button[] endscreenButtons = {backMenuButton, restartGameButton, personalHighscoresButton};
 | 
					    private final Button[] endscreenButtons = {backMenuButton, restartGameButton, personalHighscoresButton, backEndscreenButton};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*Textfelder erstellen und zuweisen*/
 | 
					    /*Textfelder erstellen und zuweisen*/
 | 
				
			||||||
    private final TextField name = new TextField();
 | 
					    private final TextField name = new TextField();
 | 
				
			||||||
@@ -980,6 +981,13 @@ public class HappyBirdMain extends Application {
 | 
				
			|||||||
                "-fx-alignment: center;");
 | 
					                "-fx-alignment: center;");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /***
 | 
				
			||||||
 | 
					     * public void generateEndScreen() generiert den Endscreen - sobald das Spiel beendet ist
 | 
				
			||||||
 | 
					     * (man verloren hat). Es werden die Punkte des Spielers angezeigt, und es bestehen die Möglichkeiten,
 | 
				
			||||||
 | 
					     *      das Spiel neu zu starten
 | 
				
			||||||
 | 
					     *      das zum Hauptmenü zurückzukehren
 | 
				
			||||||
 | 
					     *      sich seine persänlichen Highscores anzeigen zu lassen
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    public void generateEndScreen() {
 | 
					    public void generateEndScreen() {
 | 
				
			||||||
        endScreenFormating();
 | 
					        endScreenFormating();
 | 
				
			||||||
        /*Name und Highscores ausblenden, Pause-Button ausblenden*/
 | 
					        /*Name und Highscores ausblenden, Pause-Button ausblenden*/
 | 
				
			||||||
@@ -990,12 +998,13 @@ public class HappyBirdMain extends Application {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        /**/
 | 
					        /**/
 | 
				
			||||||
        endScreen.setVisible(true);
 | 
					        endScreen.setVisible(true);
 | 
				
			||||||
        endScreen.getChildren().add(currentScoreEndscreenLabel);
 | 
					 | 
				
			||||||
        currentScoreEndscreenLabel.setVisible(true);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        endScreen.getChildren().add(endScreenHeadline);
 | 
					        endScreen.getChildren().add(endScreenHeadline);
 | 
				
			||||||
        endScreenHeadline.setVisible(true);
 | 
					        endScreenHeadline.setVisible(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        endScreen.getChildren().add(currentScoreEndscreenLabel);
 | 
				
			||||||
 | 
					        currentScoreEndscreenLabel.setVisible(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Buttons einfügen */
 | 
					        /* Buttons einfügen */
 | 
				
			||||||
        int yPosition = 200;
 | 
					        int yPosition = 200;
 | 
				
			||||||
        for (Button button : endscreenButtons) {
 | 
					        for (Button button : endscreenButtons) {
 | 
				
			||||||
@@ -1006,7 +1015,7 @@ public class HappyBirdMain extends Application {
 | 
				
			|||||||
            button.setVisible(true);
 | 
					            button.setVisible(true);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        pane.getChildren().add(endScreen);
 | 
					        pane.getChildren().add(endScreen);
 | 
				
			||||||
 | 
					        backEndscreenButton.setVisible(false);
 | 
				
			||||||
        /* Click-Events für die Buttons */
 | 
					        /* Click-Events für die Buttons */
 | 
				
			||||||
        backMenuButton.setOnAction(event -> backMenuButtonClick());
 | 
					        backMenuButton.setOnAction(event -> backMenuButtonClick());
 | 
				
			||||||
        personalHighscoresButton.setOnAction(event -> personalHighscoresButtonClick());
 | 
					        personalHighscoresButton.setOnAction(event -> personalHighscoresButtonClick());
 | 
				
			||||||
@@ -1029,15 +1038,60 @@ public class HappyBirdMain extends Application {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /***
 | 
				
			||||||
 | 
					     * die Funktion restartGameButtonClick() startet das Spiel neu
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    private void restartGameButtonClick() {
 | 
					    private void restartGameButtonClick() {
 | 
				
			||||||
        pane.getChildren().remove(endScreen);
 | 
					        pane.getChildren().remove(endScreen);
 | 
				
			||||||
        startGameButtonClick();
 | 
					        startGameButtonClick();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /***
 | 
				
			||||||
 | 
					     * personalHighscoresButtonClick() zeigt bei Drücken des Highscore-Buttons im Endscreen
 | 
				
			||||||
 | 
					     * die persänlichen besten 5 Scores an
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    private void personalHighscoresButtonClick() {
 | 
					    private void personalHighscoresButtonClick() {
 | 
				
			||||||
 | 
					        /* alle Buttons ausblenden */
 | 
				
			||||||
 | 
					        for(Button button : endscreenButtons) {
 | 
				
			||||||
 | 
					            button.setVisible(false);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        /* Back-Button einblenden */
 | 
				
			||||||
 | 
					        backEndscreenButton.setVisible(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Überschrift ändern */
 | 
				
			||||||
 | 
					        endScreenHeadline.setText("YOUR HIGHSCORES");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Highscore ausblenden */
 | 
				
			||||||
 | 
					        currentScoreEndscreenLabel.setVisible(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Highscore-Label (Hintergrund) formatieren und einfügen */
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setLayoutX(275);
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setLayoutY(225);
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setPrefHeight(300);
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setPrefSize(250, 250);
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setVisible(true);
 | 
				
			||||||
 | 
					        endScreen.getChildren().add(highscoreMenuLabel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Highscores des Spielers einfügen */
 | 
				
			||||||
 | 
					        String personalBestScores = calculatePersonalHighscores();
 | 
				
			||||||
 | 
					        highscoreMenuLabel.setText(personalBestScores);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /* Zurück-Funktion in den Endscreen */
 | 
				
			||||||
 | 
					        backEndscreenButton.setOnAction(event -> {
 | 
				
			||||||
 | 
					            endScreenHeadline.setText("GAME OVER");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for(Button button : endscreenButtons) {
 | 
				
			||||||
 | 
					                button.setVisible(true);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            currentScoreEndscreenLabel.setVisible(true);
 | 
				
			||||||
 | 
					            highscoreMenuLabel.setVisible(false);
 | 
				
			||||||
 | 
					            backEndscreenButton.setVisible(false);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /***
 | 
				
			||||||
 | 
					     * backMenuButtonClick() ruft aus dem Endscreen das Hauptmenü auf
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    private void backMenuButtonClick() {
 | 
					    private void backMenuButtonClick() {
 | 
				
			||||||
        pane.getChildren().remove(endScreen);
 | 
					        pane.getChildren().remove(endScreen);
 | 
				
			||||||
        generateMenueScene();
 | 
					        generateMenueScene();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user