diff --git a/Happy_Bird/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock b/Happy_Bird/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock index 1504b9c..8a618fb 100644 Binary files a/Happy_Bird/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock and b/Happy_Bird/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock differ diff --git a/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin b/Happy_Bird/.gradle/7.1.1/executionHistory/executionHistory.bin index 3ec5b8d..1f0af15 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 3d83a6b..9fbbe55 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 f93e2b7..f4da9b1 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 6abfaca..f62941c 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 44aa942..57be8ac 100644 Binary files a/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/Happy_Bird/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/Happy_Bird/.gradle/checksums/checksums.lock b/Happy_Bird/.gradle/checksums/checksums.lock index 1f8032a..3f50b6f 100644 Binary files a/Happy_Bird/.gradle/checksums/checksums.lock and b/Happy_Bird/.gradle/checksums/checksums.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 288b295..3911c55 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 b1b108e..1c948c1 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 e386013..2ca1d1e 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 c76ceb8..29811c0 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 @@ -4,58 +4,76 @@ import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; -import javafx.scene.control.TextField; import javafx.scene.control.Slider; -import javafx.scene.image.*; +import javafx.scene.control.TextField; import javafx.scene.image.Image; +import javafx.scene.image.ImageView; import javafx.scene.input.KeyCode; import javafx.scene.layout.*; import javafx.scene.text.TextAlignment; import javafx.stage.Stage; - -import java.io.IOException; - public class HappyBirdMain extends Application { - private Pane pane = new Pane(); - private Scene scene = new Scene(pane, 800, 700); + /*Panes erstellen und zuweisen*/ + private final Pane pane = new Pane(); + private final Pane pause = new Pane(); - private Label nameLabel = new Label("NAME"); - private Label acronymLabel = new Label("KÜRZEL"); - private Label headline = new Label("HAPPY BIRD"); - private Label soundLabel = new Label("SOUND"); - private Label currentScoreLabel = new Label("SCORE"); - private Label highscoreLabel = new Label("HIGHSCORE"); - private Label pauseMenu = new Label("Pause"); - private Label labels[] = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel}; - private Label headlineLabels[] = {headline}; + /*Scene erstellen und zuweisen*/ + private final Scene scene = new Scene(pane, 800, 700); - private Button startButton = new Button("START"); - private Button highscoresButton = new Button("HIGHSCORES"); - private Button settingsButton = new Button("EINSTELLUNGEN"); - private Button startGameButton = new Button("SPIEL STARTEN"); - private Button menuButton = new Button("ZURÜCK"); - private Button pauseButton = new Button("PAUSE"); - private Button continueButton = new Button("WEITERSPIELEN"); + /*Labels erstellen und zuweisen*/ + private final Label nameLabel = new Label("NAME"); + private final Label acronymLabel = new Label("KÜRZEL"); + private final Label headline = new Label("HAPPY BIRD"); + private final Label soundLabel = new Label("SOUND"); + private final Label currentScoreLabel = new Label("SCORE"); + private final Label highscoreLabel = new Label("HIGHSCORE"); + private final Label pauseMenuLabel = new Label("PAUSE"); + private final Label soundLabelPause = new Label("SOUND"); - private Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton}; + /*Labels in Arrays speichern*/ + private final Label[] labels = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel}; + private final Label[] headlineLabels = {headline}; - private TextField name = new TextField(); - private TextField acronym = new TextField(); + /*Buttons erstellen und zuweisen*/ + private final Button startButton = new Button("START"); + private final Button highscoresButton = new Button("HIGHSCORES"); + private final Button settingsButton = new Button("EINSTELLUNGEN"); + private final Button startGameButton = new Button("SPIEL STARTEN"); + private final Button menuButton = new Button("ZURÜCK"); + private final Button pauseButton = new Button("PAUSE"); + private final Button continueButton = new Button("WEITERSPIELEN"); + private final Button settingsButtonPause = new Button("EINSTELLUNGEN"); + private final Button menuButtonPause = new Button("HAUPTMENÜ"); + private final Button backButtonPause = new Button("ZURÜCK"); - private TextField inputFields[] = {name, acronym}; + /*Buttons in Arrays speichern*/ + private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause}; + private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause}; - private Slider soundSlider = new Slider(); + /*Textfelder erstellen und zuweisen*/ + private final TextField name = new TextField(); + private final TextField acronym = new TextField(); - private Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false); + /*Textfelder in Arrays speichern*/ + private final TextField[] inputFields = {name, acronym}; - private Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false); - private Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false); + /*Slider erstellen und zuweisen*/ + private final Slider soundSlider = new Slider(); + private final Slider soundSliderPause = new Slider(); - private Pane pause = new Pane(); + /*Bilder*/ + private final Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false); - private boolean gameRuns; + private final Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false); + private final Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false); + + /*Variablen für den Spielverlauf*/ + //menuScreenRunning: das Hauptmenü ist aufgerufen + private boolean menuScreenRunning; + //gameRunning: das Spiel läuft/ GameScreen ist aufgerufen + private boolean gameRunning; @@ -64,48 +82,38 @@ public class HappyBirdMain extends Application { } @Override - public void start(Stage stage) throws IOException { + public void start(Stage stage) { stage.setTitle("Happy Bird"); stage.setScene(scene); generateMenueScene(); - gameRuns = false; + /*ClickEvents:*/ + startButton.setOnAction(event -> startButtonClick()); - /**ClickEvents:*/ - startButton.setOnAction(event -> { - startButtonClick(); - }); + settingsButton.setOnAction(event -> settingsButtonClick()); - settingsButton.setOnAction(event -> { - settingsButtonClick(); - }); + highscoresButton.setOnAction(event -> highscoresButtonClick()); - highscoresButton.setOnAction(event -> { - highscoresButtonClick(); - }); - - menuButton.setOnAction(event -> { - menuButtonClick(); - }); + menuButton.setOnAction(event -> menuButtonClick()); startGameButton.setOnAction(event -> { - gameRuns = true; + gameRunning = true; startGameButtonClick(); }); - - stage.show(); } public void generateMenueScene() { - /**Bild für Hintergrund erstellen:*/ + menuScreenRunning = true; + + /*Bild für Hintergrund erstellen:*/ Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png"); - /**Hintergrund erstellen:*/ + /*Hintergrund erstellen:*/ BackgroundImage backgroundImage = new BackgroundImage( image, BackgroundRepeat.NO_REPEAT, @@ -114,29 +122,15 @@ public class HappyBirdMain extends Application { BackgroundSize.DEFAULT ); - /**Hintergrund zu Pane hinzufügen:*/ + /*Hintergrund zu Pane hinzufügen:*/ Background background = new Background(backgroundImage); pane.setBackground(background); - - - /**Labels erstellen:*/ - //nameLabel = new Label("NAME"); - //acronymLabel = new Label("KÜRZEL"); - //headline = new Label("HAPPY BIRD"); - //soundLabel = new Label("SOUND"); - //currentScoreLabel = new Label("SCORE"); - //highscoreLabel = new Label("HIGHSCORE"); - - - /**Labels in Arrays speichern:*/ - - - /**Labels formatieren:*/ + /*Labels formatieren:*/ labelsFormating(labels, pane); headlineFormating(headlineLabels, pane); - /**alle labels an ihre Stelle:*/ + /*alle labels an ihre Stelle:*/ int yPositionLabels = 225; for (Label label : labels) { label.setLayoutX(275); @@ -144,60 +138,44 @@ public class HappyBirdMain extends Application { yPositionLabels += 150; } - /**headline an ihre Stelle:*/ + /*headline an ihre Stelle:*/ headline.setLayoutX(250); headline.setLayoutY(100); + headline.setVisible(true); - /**soundLabel an seine Stelle:*/ + /*soundLabel an seine Stelle:*/ soundLabel.setLayoutY(225); - - - /**Buttons erstellen:*/ - //startButton = new Button("START"); - //highscoresButton = new Button("HIGHSCORES"); - //settingsButton = new Button("EINSTELLUNGEN"); - //startGameButton = new Button("SPIEL STARTEN"); - //menuButton = new Button("ZURÜCK"); - - /**Buttons in Array speichern:*/ - - - /**Buttons formatieren:*/ + /*Buttons formatieren:*/ buttonsFormating(buttons, pane); - /**alle Buttons an ihre Stelle:*/ + /*alle Buttons an ihre Stelle:*/ int yPositionButtons = 225; for (Button button : buttons) { button.setLayoutX(300); button.setLayoutY(yPositionButtons); yPositionButtons += 100; + button.setVisible(true); } - /**menuButton an seine Stelle und vorerst ausblenden:*/ + /*menuButton an seine Stelle und vorerst ausblenden:*/ menuButton.setLayoutX(575); menuButton.setLayoutY(625); menuButton.setVisible(false); - /**startGameButton unsichtbar*/ + /*startGameButton unsichtbar*/ startGameButton.setVisible(false); - /**continueButton unsichtbar*/ + /*continueButton unsichtbar*/ continueButton.setVisible(false); + /*settingsButtonPause unsichtbar*/ + settingsButtonPause.setVisible(false); - - /**Textfelder erstellen:*/ - //name = new TextField(); - //acronym = new TextField(); - - /**Textfelder in Array speichern:*/ - - - /**Textfelder formatieren:*/ + /*Textfelder formatieren:*/ textfieldsFormating(inputFields, pane); - /**Textfelder an ihre Position:*/ + /*Textfelder an ihre Position:*/ int yPositionInputFields = 290; for (TextField feld : inputFields) { feld.setLayoutX(275); @@ -205,14 +183,8 @@ public class HappyBirdMain extends Application { yPositionInputFields += 150; } - - - /**SoundSlider erstellen:*/ - //soundSlider = new Slider(); - - /**SoundSlicer anpassen:*/ + /*SoundSlicer anpassen:*/ soundSliderFormating(soundSlider, pane); - } /** @@ -220,50 +192,53 @@ public class HappyBirdMain extends Application { * Sichtbarmachen der richtigen Buttons, Labels, ... */ public void generateGameScreen() { - /**Headline-Label umbenennen*/ - nameLabel.setText("NAME: " + acronym.getText()); + menuScreenRunning = false; - /**Textfelder ausblenden*/ + /*Headline-Label umbenennen*/ + nameLabel.setText("KÜRZEL: " + acronym.getText()); + + /*Textfelder ausblenden*/ for(TextField feld : inputFields) { feld.setVisible(false); } - /**Labels ausblenden*/ - for (Label label : labels ) - { + /*Labels ausblenden*/ + for (Label label : labels ) { label.setVisible(false); } headline.setVisible(false); - /**nameLabel, currentScoreLabel und highscoreLabel positionieren und sichtbar machen*/ + /*nameLabel positionieren und sichtbar machen*/ nameLabel.setLayoutX(10); nameLabel.setLayoutY(10); nameLabel.setVisible(true); + /*currentScoreLabel positionieren und sichtbar machen*/ currentScoreLabel.setLayoutX(540); currentScoreLabel.setLayoutY(10); currentScoreLabel.setVisible(true); + /*highscoreLabel positionieren und sichtbar machen*/ highscoreLabel.setLayoutX(540); highscoreLabel.setLayoutY(70); highscoreLabel.setVisible(true); - /**Übrige Buttons ausblenden*/ - startGameButton.setVisible(false); - menuButton.setVisible(false); - - /**Pause-Button positionieren und sichtbar machen*/ + /*Pause-Button positionieren und sichtbar machen*/ pauseButton.setLayoutX(575); pauseButton.setLayoutY(625); pauseButton.setVisible(true); - /**Vogel hinzufügen, bisher nur als Bild*/ + /*übrige Buttons ausblenden*/ + startGameButton.setVisible(false); + menuButton.setVisible(false); + + /*Vogel hinzufügen, bisher nur als Bild*/ ImageView birdView = new ImageView(bird); pane.getChildren().add(birdView); birdView.setLayoutY(325); birdView.setLayoutX(50); - /**Pipes oben, unten hinzufügen, bisher nur als Bild*/ + /*Pipes oben, unten hinzufügen, bisher nur als Bild*/ ImageView upperPipeView = new ImageView(upperPipe); pane.getChildren().add(upperPipeView); upperPipeView.setLayoutX(400); @@ -382,41 +357,71 @@ public class HappyBirdMain extends Application { * Formatiert den PauseScreen */ public void pauseScreenFormating() { + /*pause-Pane formatieren*/ + pause.setPrefSize(400, 400); pause.setLayoutX(200); - pause.setLayoutY(100); - pause.setPrefSize(400, 500); + pause.setLayoutY(150); pause.setStyle("-fx-background-color: #DED894; " + "-fx-border-width: 5px;" + "-fx-border-color: #543847;" + "-fx-border-radius: 15px;" + "-fx-background-radius: 20px;"); + + /*pauseMenuLabel formatieren*/ + pauseMenuLabel.setPrefSize(300,50); + pauseMenuLabel.setLayoutX(50); + pauseMenuLabel.setLayoutY(10); + pauseMenuLabel.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 35px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); + + /*soundLabelPause formatieren*/ + soundLabelPause.setPrefSize(100, 50); + soundLabelPause.setLayoutX(150); + soundLabelPause.setLayoutY(100); + soundLabelPause.setStyle("-fx-background-color: #DED894; " + + "-fx-text-fill: #000000; " + + "-fx-font-size: 20px; " + + "-fx-font-weight: bold;" + + "-fx-alignment: center;"); } /*** * Hauptmenü wird ausgeblendet, Nameneingabe folgt */ public void startButtonClick() { + /*Überschrift umbenennen*/ headline.setText("START"); - startGameButton.setOnAction(event -> { - startGameButtonClick(); - }); + + /*alle Buttons ausblenden*/ for(Button button : buttons) { button.setVisible(false); } - startGameButton.setVisible(true); + /*gebrauchte Buttons einblenden, ggf. anpassen*/ menuButton.setVisible(true); + startGameButton.setVisible(true); startGameButton.setLayoutY(520); + + /*Textfelder einblenden*/ for(TextField feld : inputFields) { feld.setVisible(true); } + + /*Labels einblenden*/ for (Label label : labels ) { label.setVisible(true); } + + /*nicht verwendete Labels ausblenden*/ highscoreLabel.setVisible(false); currentScoreLabel.setVisible(false); soundLabel.setVisible(false); + /*Click-Events*/ + startGameButton.setOnAction(event -> startGameButtonClick()); } @@ -424,7 +429,10 @@ public class HappyBirdMain extends Application { * Hauptmenü wird ausgeblendet, Einstellungen folgen */ public void settingsButtonClick() { + /*Überschrift umbenennen*/ headline.setText("EINSTELLUNGEN"); + + /*nicht verwendete Buttons/ Labels ausblenden, gebrauchte einblenden*/ startButton.setVisible(false); highscoresButton.setVisible(false); settingsButton.setVisible(false); @@ -433,11 +441,56 @@ public class HappyBirdMain extends Application { soundLabel.setVisible(true); } + /*** + * Hauptmenü wird ausgeblendet, Einstellungen folgen + */ + public void settingsButtonPauseClick() { + /*Überschrift umbenennen*/ + pauseMenuLabel.setText("EINSTELLUNGEN"); + + /*alle Buttons ausblenden*/ + for(Button button : pauseButtons) { + button.setVisible(false); + } + + /*gebrauchte Buttons einblenden und anpassen*/ + backButtonPause.setVisible(true); + backButtonPause.setLayoutY(300); + + /*soundSliderPause anpassen und einblenden*/ + soundSliderPause.setPrefSize(200, 5); + soundSliderPause.setLayoutX(100); + soundSliderPause.setLayoutY(150); + soundSliderPause.setVisible(true); + + /*soundLabelPause einblenden*/ + soundLabelPause.setVisible(true); + + /*Click-Events*/ + backButtonPause.setOnAction(event -> { + /*Überschrift umbenennen*/ + pauseMenuLabel.setText("PAUSE"); + + /*alle Buttons einblenden*/ + for(Button button : pauseButtons) { + button.setVisible(true); + } + + /*nicht verwendete Buttons ausblenden*/ + backButtonPause.setVisible(false); + soundSliderPause.setVisible(false); + soundLabelPause.setVisible(false); + }); + } + /*** * Hauptmenü wird ausgeblendet, Highscores folgen */ public void highscoresButtonClick() { + /*Überschrift umbenennen*/ headline.setText("HIGHSCORES"); + + /*nicht verwendete Buttons ausblenden, verwendete einblenden*/ startButton.setVisible(false); highscoresButton.setVisible(false); settingsButton.setVisible(false); @@ -449,19 +502,28 @@ public class HappyBirdMain extends Application { * Erneutes Anzeigen des Hauptmenüs */ public void menuButtonClick() { + /*Überschrift umbenennen*/ headline.setText("HAPPY BIRD"); + + /*nicht verwendete Buttons ausblenden, verwendete einblenden*/ startButton.setVisible(true); highscoresButton.setVisible(true); settingsButton.setVisible(true); menuButton.setVisible(false); - soundSlider.setVisible(false); - soundLabel.setVisible(false); startGameButton.setVisible(false); + /*soundSlider ausblenden*/ + soundSlider.setVisible(false); + + /*soundLabel ausblenden*/ + //soundLabel.setVisible(false); + + /*Textfelder ausblenden*/ for(TextField feld : inputFields) { feld.setVisible(false); } + /*alle Labels ausblenden*/ for (Label label : labels ) { label.setVisible(false); } @@ -473,66 +535,114 @@ public class HappyBirdMain extends Application { public void startGameButtonClick() { generateGameScreen(); - - /**Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/ + /*Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/ pauseButton.setOnAction(event -> { - // - if(gameRuns) { - gameRuns = false; - } else { - gameRuns = true; + if(!menuScreenRunning) { + pauseButtonClick(gameRunning); + gameRunning = !gameRunning; } - pauseButtonClick(gameRuns); }); - /**ESC-Tast drücken, um das Pause-Menü aufzurufen*/ + /*ESC-Tast drücken, um das Pause-Menü aufzurufen*/ scene.setOnKeyPressed(e -> { - if(e.getCode() == KeyCode.ESCAPE) { - if(gameRuns) { - gameRuns = false; - pauseButtonClick(false); - } else { - gameRuns = true; - pauseButtonClick(true); - } + if(e.getCode() == KeyCode.ESCAPE && !menuScreenRunning) { + pauseButtonClick(gameRunning); + gameRunning = !gameRunning; } }); } + /*** + * Zurück zum Spiel aus dem PauseScreen heraus + */ + public void continueButtonClick() { + /*pauseButton einblenden*/ + pauseButton.setVisible(true); + + /*PauseScreen ausblenden*/ + pause.setVisible(false); + + /*Vom PauseScreen entfernen*/ + pause.getChildren().clear(); + pane.getChildren().remove(pause); + + /*gameRunning auf false setzen, da sonst 2x Click auf Pause-Button bzw. ESC*/ + gameRunning = false; + } + + /*** + * alles vom pane entfernen, da als nächstes zum Hauptmenü + */ + private void menuButtonPauseClick() { + /*alles vom pauseScreen entfernen*/ + pause.getChildren().clear(); + + /*pause von pane entfernen*/ + pane.getChildren().clear(); + + /*gameRunning auf false, da zurück zum Hauptmenü*/ + gameRunning = false; + } + /*** * Ruft das Pause-Menü im Spiel auf oder blendet es wieder aus */ public void pauseButtonClick(Boolean gameRuns) { pauseScreenFormating(); - /**PauseScreen aufrufen, wenn das Spiel läuft, sonst wieder ausblenden*/ - if(gameRuns) { - /**PauseScreen ausblenden*/ - pause.setVisible(true); + /*PauseScreen aufrufen, wenn das Spiel läuft, sonst wieder ausblenden*/ + if(!gameRuns) { pauseButton.setVisible(false); - highscoresButton.setVisible(true); - settingsButton.setVisible(true); - highscoresButton.setLayoutX(100); - settingsButton.setLayoutX(100); - /**Zum PauseScreen hinzufügen*/ - pause.getChildren().add(settingsButton); - pause.getChildren().add(highscoresButton); + /*PauseScreen einblenden*/ + pause.setVisible(true); + + /*Buttons anpassen, zum pauseScreen hinzufügen und einblenden*/ + int yPosition = 100; + for(Button button : pauseButtons) { + button.setLayoutX(100); + button.setLayoutY(yPosition); + yPosition += 100; + pause.getChildren().add(button); + button.setVisible(true); + } + + /*backButtonPause vorerst ausblenden und zu pause hinzufügen*/ + backButtonPause.setVisible(false); + pause.getChildren().add(pauseMenuLabel); + + /*soundSliderPause vorerst ausblenden und zu pause hinzufügen*/ + soundSliderPause.setVisible(false); + pause.getChildren().add(soundSliderPause); + + /*soundLabelPause vorerst ausblenden und zu pause hinzufügen*/ + soundLabelPause.setVisible(false); + pause.getChildren().add(soundLabelPause); + + /*pause zu pane hinzufügen*/ pane.getChildren().add(pause); + + /*ClickEvents*/ + continueButton.setOnAction(event -> continueButtonClick()); + + menuButtonPause.setOnAction(event -> { + menuButtonPauseClick(); + generateMenueScene(); + }); + + settingsButtonPause.setOnAction(event -> settingsButtonPauseClick()); } else { - /**PauseScreen aufrufen/ sichtbar machen*/ + /*pauseButton einblenden*/ + pauseButton.setVisible(true); + + /*PauseScreen ausblenden*/ pause.setVisible(false); - pauseButton.setVisible(true); - highscoresButton.setVisible(false); - settingsButton.setVisible(false); - highscoresButton.setLayoutX(300); - settingsButton.setLayoutX(300); + /*alles vom PauseScreen entfernen*/ + pause.getChildren().clear(); - /**Vom PauseScreen entfernen*/ - pause.getChildren().remove(settingsButton); - pause.getChildren().remove(highscoresButton); + /*pause von pane entfernen*/ pane.getChildren().remove(pause); } } -} +} \ No newline at end of file