Datenbank
This commit is contained in:
parent
b06d323aeb
commit
8507e0f681
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,79 +1,58 @@
|
|||||||
package com.example.happy_bird;
|
package com.example.happy_bird;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
|
import javafx.event.ActionEvent;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.geometry.Insets;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.Slider;
|
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.scene.control.Slider;
|
||||||
|
import javafx.scene.image.*;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import javafx.scene.image.ImageView;
|
|
||||||
import javafx.scene.input.KeyCode;
|
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.text.TextAlignment;
|
import javafx.scene.text.TextAlignment;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
public class HappyBirdMain extends Application {
|
public class HappyBirdMain extends Application {
|
||||||
|
|
||||||
/*Panes erstellen und zuweisen*/
|
private Pane pane = new Pane();
|
||||||
private final Pane pane = new Pane();
|
private Scene scene = new Scene(pane, 800, 700);
|
||||||
private final Pane pause = new Pane();
|
|
||||||
|
|
||||||
/*Scene erstellen und zuweisen*/
|
private Label nameLabel = new Label("NAME");
|
||||||
private final Scene scene = new Scene(pane, 800, 700);
|
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 labels[] = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
||||||
|
private Label headlineLabels[] = {headline};
|
||||||
|
|
||||||
/*Labels erstellen und zuweisen*/
|
private Button startButton = new Button("START");
|
||||||
private final Label nameLabel = new Label("NAME");
|
private Button highscoresButton = new Button("HIGHSCORES");
|
||||||
private final Label acronymLabel = new Label("KÜRZEL");
|
private Button settingsButton = new Button("EINSTELLUNGEN");
|
||||||
private final Label headline = new Label("HAPPY BIRD");
|
private Button startGameButton = new Button("SPIEL STARTEN");
|
||||||
private final Label soundLabel = new Label("SOUND");
|
private Button menuButton = new Button("ZURÜCK");
|
||||||
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");
|
|
||||||
|
|
||||||
/*Labels in Arrays speichern*/
|
private Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton};
|
||||||
private final Label[] labels = {nameLabel, acronymLabel, soundLabel, currentScoreLabel, highscoreLabel};
|
|
||||||
private final Label[] headlineLabels = {headline};
|
|
||||||
|
|
||||||
/*Buttons erstellen und zuweisen*/
|
private TextField name = new TextField();
|
||||||
private final Button startButton = new Button("START");
|
private TextField acronym = new TextField();
|
||||||
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");
|
|
||||||
|
|
||||||
/*Buttons in Arrays speichern*/
|
private TextField inputFields[] = {name, acronym};
|
||||||
private final Button[] buttons = {startButton, highscoresButton, settingsButton, startGameButton, menuButton, pauseButton, continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
|
||||||
private final Button[] pauseButtons = {continueButton, settingsButtonPause, menuButtonPause, backButtonPause};
|
|
||||||
|
|
||||||
/*Textfelder erstellen und zuweisen*/
|
private Slider soundSlider = new Slider();
|
||||||
private final TextField name = new TextField();
|
|
||||||
private final TextField acronym = new TextField();
|
|
||||||
|
|
||||||
/*Textfelder in Arrays speichern*/
|
private Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false);
|
||||||
private final TextField[] inputFields = {name, acronym};
|
|
||||||
|
|
||||||
/*Slider erstellen und zuweisen*/
|
private Image upperPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeOben.png", 86, 300, false, false);
|
||||||
private final Slider soundSlider = new Slider();
|
private Image lowerPipe = new Image("file:src/main/resources/com/example/happy_bird/pics/PipeUnten.png", 86, 300, false, false);
|
||||||
private final Slider soundSliderPause = new Slider();
|
|
||||||
|
|
||||||
/*Bilder*/
|
|
||||||
private final Image bird = new Image("file:src/main/resources/com/example/happy_bird/pics/bird.png", 50, 35, false, false);
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -82,38 +61,15 @@ public class HappyBirdMain extends Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage stage) {
|
public void start(Stage stage) throws IOException {
|
||||||
|
|
||||||
stage.setTitle("Happy Bird");
|
stage.setTitle("Happy Bird");
|
||||||
stage.setScene(scene);
|
stage.setScene(scene);
|
||||||
|
|
||||||
generateMenueScene();
|
/**Bild für Hintergrund erstellen:*/
|
||||||
|
|
||||||
/*ClickEvents:*/
|
|
||||||
startButton.setOnAction(event -> startButtonClick());
|
|
||||||
|
|
||||||
settingsButton.setOnAction(event -> settingsButtonClick());
|
|
||||||
|
|
||||||
highscoresButton.setOnAction(event -> highscoresButtonClick());
|
|
||||||
|
|
||||||
menuButton.setOnAction(event -> menuButtonClick());
|
|
||||||
|
|
||||||
startGameButton.setOnAction(event -> {
|
|
||||||
gameRunning = true;
|
|
||||||
startGameButtonClick();
|
|
||||||
});
|
|
||||||
|
|
||||||
stage.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void generateMenueScene() {
|
|
||||||
menuScreenRunning = true;
|
|
||||||
|
|
||||||
/*Bild für Hintergrund erstellen:*/
|
|
||||||
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
Image image = new Image("file:src/main/resources/com/example/happy_bird/pics/Background.png");
|
||||||
|
|
||||||
/*Hintergrund erstellen:*/
|
/**Hintergrund erstellen:*/
|
||||||
BackgroundImage backgroundImage = new BackgroundImage(
|
BackgroundImage backgroundImage = new BackgroundImage(
|
||||||
image,
|
image,
|
||||||
BackgroundRepeat.NO_REPEAT,
|
BackgroundRepeat.NO_REPEAT,
|
||||||
@ -122,15 +78,23 @@ public class HappyBirdMain extends Application {
|
|||||||
BackgroundSize.DEFAULT
|
BackgroundSize.DEFAULT
|
||||||
);
|
);
|
||||||
|
|
||||||
/*Hintergrund zu Pane hinzufügen:*/
|
/**Hintergrund zu Pane hinzufügen:*/
|
||||||
Background background = new Background(backgroundImage);
|
Background background = new Background(backgroundImage);
|
||||||
pane.setBackground(background);
|
pane.setBackground(background);
|
||||||
|
|
||||||
/*Labels formatieren:*/
|
|
||||||
|
|
||||||
|
/**Labels erstellen:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Labels in Arrays speichern:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Labels formatieren:*/
|
||||||
labelsFormating(labels, pane);
|
labelsFormating(labels, pane);
|
||||||
headlineFormating(headlineLabels, pane);
|
headlineFormating(headlineLabels, pane);
|
||||||
|
|
||||||
/*alle labels an ihre Stelle:*/
|
/**alle labels an ihre Stelle:*/
|
||||||
int yPositionLabels = 225;
|
int yPositionLabels = 225;
|
||||||
for (Label label : labels) {
|
for (Label label : labels) {
|
||||||
label.setLayoutX(275);
|
label.setLayoutX(275);
|
||||||
@ -138,44 +102,52 @@ public class HappyBirdMain extends Application {
|
|||||||
yPositionLabels += 150;
|
yPositionLabels += 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*headline an ihre Stelle:*/
|
/**headline an ihre Stelle:*/
|
||||||
headline.setLayoutX(250);
|
headline.setLayoutX(250);
|
||||||
headline.setLayoutY(100);
|
headline.setLayoutY(100);
|
||||||
headline.setVisible(true);
|
|
||||||
|
|
||||||
/*soundLabel an seine Stelle:*/
|
/**soundLabel an seine Stelle:*/
|
||||||
soundLabel.setLayoutY(225);
|
soundLabel.setLayoutY(225);
|
||||||
|
|
||||||
/*Buttons formatieren:*/
|
|
||||||
|
|
||||||
|
/**Buttons erstellen:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Buttons in Array speichern:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Buttons formatieren:*/
|
||||||
buttonsFormating(buttons, pane);
|
buttonsFormating(buttons, pane);
|
||||||
|
|
||||||
/*alle Buttons an ihre Stelle:*/
|
/**alle Buttons an ihre Stelle:*/
|
||||||
int yPositionButtons = 225;
|
int yPositionButtons = 225;
|
||||||
for (Button button : buttons) {
|
for (Button button : buttons) {
|
||||||
button.setLayoutX(300);
|
button.setLayoutX(300);
|
||||||
button.setLayoutY(yPositionButtons);
|
button.setLayoutY(yPositionButtons);
|
||||||
yPositionButtons += 100;
|
yPositionButtons += 100;
|
||||||
button.setVisible(true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*menuButton an seine Stelle und vorerst ausblenden:*/
|
/**menuButton an seine Stelle und vorerst ausblenden:*/
|
||||||
menuButton.setLayoutX(575);
|
menuButton.setLayoutX(575);
|
||||||
menuButton.setLayoutY(625);
|
menuButton.setLayoutY(625);
|
||||||
menuButton.setVisible(false);
|
menuButton.setVisible(false);
|
||||||
|
|
||||||
/*startGameButton unsichtbar*/
|
/**startGameButton unsichtbar*/
|
||||||
startGameButton.setVisible(false);
|
startGameButton.setVisible(false);
|
||||||
|
|
||||||
/*continueButton unsichtbar*/
|
|
||||||
continueButton.setVisible(false);
|
|
||||||
|
|
||||||
/*settingsButtonPause unsichtbar*/
|
|
||||||
settingsButtonPause.setVisible(false);
|
|
||||||
|
|
||||||
/*Textfelder formatieren:*/
|
/**Textfelder erstellen:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Textfelder in Array speichern:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**Textfelder formatieren:*/
|
||||||
textfieldsFormating(inputFields, pane);
|
textfieldsFormating(inputFields, pane);
|
||||||
|
|
||||||
/*Textfelder an ihre Position:*/
|
/**Textfelder an ihre Position:*/
|
||||||
int yPositionInputFields = 290;
|
int yPositionInputFields = 290;
|
||||||
for (TextField feld : inputFields) {
|
for (TextField feld : inputFields) {
|
||||||
feld.setLayoutX(275);
|
feld.setLayoutX(275);
|
||||||
@ -183,71 +155,34 @@ public class HappyBirdMain extends Application {
|
|||||||
yPositionInputFields += 150;
|
yPositionInputFields += 150;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*SoundSlicer anpassen:*/
|
|
||||||
|
|
||||||
|
/**SoundSlider erstellen:*/
|
||||||
|
|
||||||
|
|
||||||
|
/**SoundSlicer anpassen:*/
|
||||||
soundSliderFormating(soundSlider, pane);
|
soundSliderFormating(soundSlider, pane);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generiert den GameScreen durch Ausblenden und
|
|
||||||
* Sichtbarmachen der richtigen Buttons, Labels, ...
|
|
||||||
*/
|
|
||||||
public void generateGameScreen() {
|
|
||||||
menuScreenRunning = false;
|
|
||||||
|
|
||||||
/*Headline-Label umbenennen*/
|
|
||||||
nameLabel.setText("KÜRZEL: " + acronym.getText());
|
|
||||||
|
|
||||||
/*Textfelder ausblenden*/
|
/**ClickEvents:*/
|
||||||
for(TextField feld : inputFields) {
|
startButton.setOnAction(event -> {
|
||||||
feld.setVisible(false);
|
startButtonClick();
|
||||||
}
|
});
|
||||||
|
|
||||||
/*Labels ausblenden*/
|
settingsButton.setOnAction(event -> {
|
||||||
for (Label label : labels ) {
|
settingsButtonClick();
|
||||||
label.setVisible(false);
|
});
|
||||||
}
|
|
||||||
headline.setVisible(false);
|
|
||||||
|
|
||||||
/*nameLabel positionieren und sichtbar machen*/
|
highscoresButton.setOnAction(event -> {
|
||||||
nameLabel.setLayoutX(10);
|
highscoresButtonClick();
|
||||||
nameLabel.setLayoutY(10);
|
});
|
||||||
nameLabel.setVisible(true);
|
|
||||||
|
|
||||||
/*currentScoreLabel positionieren und sichtbar machen*/
|
menuButton.setOnAction(event -> {
|
||||||
currentScoreLabel.setLayoutX(540);
|
menuButtonClick();
|
||||||
currentScoreLabel.setLayoutY(10);
|
});
|
||||||
currentScoreLabel.setVisible(true);
|
|
||||||
|
|
||||||
/*highscoreLabel positionieren und sichtbar machen*/
|
stage.show();
|
||||||
highscoreLabel.setLayoutX(540);
|
|
||||||
highscoreLabel.setLayoutY(70);
|
|
||||||
highscoreLabel.setVisible(true);
|
|
||||||
|
|
||||||
/*Pause-Button positionieren und sichtbar machen*/
|
|
||||||
pauseButton.setLayoutX(575);
|
|
||||||
pauseButton.setLayoutY(625);
|
|
||||||
pauseButton.setVisible(true);
|
|
||||||
|
|
||||||
/*ü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*/
|
|
||||||
ImageView upperPipeView = new ImageView(upperPipe);
|
|
||||||
pane.getChildren().add(upperPipeView);
|
|
||||||
upperPipeView.setLayoutX(400);
|
|
||||||
upperPipeView.setLayoutY(0);
|
|
||||||
|
|
||||||
ImageView lowerPipeView = new ImageView(lowerPipe);
|
|
||||||
pane.getChildren().add(lowerPipeView);
|
|
||||||
lowerPipeView.setLayoutX(400);
|
|
||||||
lowerPipeView.setLayoutY(430);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@ -353,75 +288,31 @@ public class HappyBirdMain extends Application {
|
|||||||
slider.setVisible(false);
|
slider.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
|
||||||
* Formatiert den PauseScreen
|
|
||||||
*/
|
|
||||||
public void pauseScreenFormating() {
|
|
||||||
/*pause-Pane formatieren*/
|
|
||||||
pause.setPrefSize(400, 400);
|
|
||||||
pause.setLayoutX(200);
|
|
||||||
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
|
* Hauptmenü wird ausgeblendet, Nameneingabe folgt
|
||||||
*/
|
*/
|
||||||
public void startButtonClick() {
|
public void startButtonClick() {
|
||||||
/*Überschrift umbenennen*/
|
|
||||||
headline.setText("START");
|
headline.setText("START");
|
||||||
|
startGameButton.setOnAction(event -> {
|
||||||
/*alle Buttons ausblenden*/
|
startGameButtonClick();
|
||||||
|
});
|
||||||
for(Button button : buttons) {
|
for(Button button : buttons) {
|
||||||
button.setVisible(false);
|
button.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*gebrauchte Buttons einblenden, ggf. anpassen*/
|
|
||||||
menuButton.setVisible(true);
|
|
||||||
startGameButton.setVisible(true);
|
startGameButton.setVisible(true);
|
||||||
|
menuButton.setVisible(true);
|
||||||
startGameButton.setLayoutY(520);
|
startGameButton.setLayoutY(520);
|
||||||
|
|
||||||
/*Textfelder einblenden*/
|
|
||||||
for(TextField feld : inputFields) {
|
for(TextField feld : inputFields) {
|
||||||
feld.setVisible(true);
|
feld.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Labels einblenden*/
|
|
||||||
for (Label label : labels ) {
|
for (Label label : labels ) {
|
||||||
label.setVisible(true);
|
label.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*nicht verwendete Labels ausblenden*/
|
|
||||||
highscoreLabel.setVisible(false);
|
highscoreLabel.setVisible(false);
|
||||||
currentScoreLabel.setVisible(false);
|
currentScoreLabel.setVisible(false);
|
||||||
soundLabel.setVisible(false);
|
soundLabel.setVisible(false);
|
||||||
|
|
||||||
/*Click-Events*/
|
|
||||||
startGameButton.setOnAction(event -> startGameButtonClick());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -429,10 +320,7 @@ public class HappyBirdMain extends Application {
|
|||||||
* Hauptmenü wird ausgeblendet, Einstellungen folgen
|
* Hauptmenü wird ausgeblendet, Einstellungen folgen
|
||||||
*/
|
*/
|
||||||
public void settingsButtonClick() {
|
public void settingsButtonClick() {
|
||||||
/*Überschrift umbenennen*/
|
|
||||||
headline.setText("EINSTELLUNGEN");
|
headline.setText("EINSTELLUNGEN");
|
||||||
|
|
||||||
/*nicht verwendete Buttons/ Labels ausblenden, gebrauchte einblenden*/
|
|
||||||
startButton.setVisible(false);
|
startButton.setVisible(false);
|
||||||
highscoresButton.setVisible(false);
|
highscoresButton.setVisible(false);
|
||||||
settingsButton.setVisible(false);
|
settingsButton.setVisible(false);
|
||||||
@ -441,56 +329,11 @@ public class HappyBirdMain extends Application {
|
|||||||
soundLabel.setVisible(true);
|
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
|
* Hauptmenü wird ausgeblendet, Highscores folgen
|
||||||
*/
|
*/
|
||||||
public void highscoresButtonClick() {
|
public void highscoresButtonClick() {
|
||||||
/*Überschrift umbenennen*/
|
|
||||||
headline.setText("HIGHSCORES");
|
headline.setText("HIGHSCORES");
|
||||||
|
|
||||||
/*nicht verwendete Buttons ausblenden, verwendete einblenden*/
|
|
||||||
startButton.setVisible(false);
|
startButton.setVisible(false);
|
||||||
highscoresButton.setVisible(false);
|
highscoresButton.setVisible(false);
|
||||||
settingsButton.setVisible(false);
|
settingsButton.setVisible(false);
|
||||||
@ -502,28 +345,19 @@ public class HappyBirdMain extends Application {
|
|||||||
* Erneutes Anzeigen des Hauptmenüs
|
* Erneutes Anzeigen des Hauptmenüs
|
||||||
*/
|
*/
|
||||||
public void menuButtonClick() {
|
public void menuButtonClick() {
|
||||||
/*Überschrift umbenennen*/
|
|
||||||
headline.setText("HAPPY BIRD");
|
headline.setText("HAPPY BIRD");
|
||||||
|
|
||||||
/*nicht verwendete Buttons ausblenden, verwendete einblenden*/
|
|
||||||
startButton.setVisible(true);
|
startButton.setVisible(true);
|
||||||
highscoresButton.setVisible(true);
|
highscoresButton.setVisible(true);
|
||||||
settingsButton.setVisible(true);
|
settingsButton.setVisible(true);
|
||||||
menuButton.setVisible(false);
|
menuButton.setVisible(false);
|
||||||
|
soundSlider.setVisible(false);
|
||||||
|
soundLabel.setVisible(false);
|
||||||
startGameButton.setVisible(false);
|
startGameButton.setVisible(false);
|
||||||
|
|
||||||
/*soundSlider ausblenden*/
|
|
||||||
soundSlider.setVisible(false);
|
|
||||||
|
|
||||||
/*soundLabel ausblenden*/
|
|
||||||
//soundLabel.setVisible(false);
|
|
||||||
|
|
||||||
/*Textfelder ausblenden*/
|
|
||||||
for(TextField feld : inputFields) {
|
for(TextField feld : inputFields) {
|
||||||
feld.setVisible(false);
|
feld.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*alle Labels ausblenden*/
|
|
||||||
for (Label label : labels ) {
|
for (Label label : labels ) {
|
||||||
label.setVisible(false);
|
label.setVisible(false);
|
||||||
}
|
}
|
||||||
@ -533,116 +367,40 @@ public class HappyBirdMain extends Application {
|
|||||||
* Startet Spiel nach Namenseingabe
|
* Startet Spiel nach Namenseingabe
|
||||||
*/
|
*/
|
||||||
public void startGameButtonClick() {
|
public void startGameButtonClick() {
|
||||||
generateGameScreen();
|
nameLabel.setText("NAME: " + acronym.getText());
|
||||||
|
fgit or(TextField feld : inputFields) {
|
||||||
/*Klick auf den Pause-Button, um das Pause-Menü aufzurufen*/
|
feld.setVisible(false);
|
||||||
pauseButton.setOnAction(event -> {
|
|
||||||
if(!menuScreenRunning) {
|
|
||||||
pauseButtonClick(gameRunning);
|
|
||||||
gameRunning = !gameRunning;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/*ESC-Tast drücken, um das Pause-Menü aufzurufen*/
|
|
||||||
scene.setOnKeyPressed(e -> {
|
|
||||||
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) {
|
|
||||||
pauseButton.setVisible(false);
|
|
||||||
|
|
||||||
/*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 {
|
|
||||||
/*pauseButton einblenden*/
|
|
||||||
pauseButton.setVisible(true);
|
|
||||||
|
|
||||||
/*PauseScreen ausblenden*/
|
|
||||||
pause.setVisible(false);
|
|
||||||
|
|
||||||
/*alles vom PauseScreen entfernen*/
|
|
||||||
pause.getChildren().clear();
|
|
||||||
|
|
||||||
/*pause von pane entfernen*/
|
|
||||||
pane.getChildren().remove(pause);
|
|
||||||
}
|
}
|
||||||
|
for (Label label : labels )
|
||||||
|
{
|
||||||
|
label.setVisible(false);
|
||||||
|
}
|
||||||
|
startGameButton.setVisible(false);
|
||||||
|
menuButton.setVisible(false);
|
||||||
|
headline.setVisible(false);
|
||||||
|
ImageView birdView = new ImageView(bird);
|
||||||
|
pane.getChildren().add(birdView);
|
||||||
|
birdView.setLayoutY(325);
|
||||||
|
birdView.setLayoutX(50);
|
||||||
|
nameLabel.setLayoutX(10);
|
||||||
|
nameLabel.setLayoutY(10);
|
||||||
|
nameLabel.setVisible(true);
|
||||||
|
|
||||||
|
ImageView upperPipeView = new ImageView(upperPipe);
|
||||||
|
pane.getChildren().add(upperPipeView);
|
||||||
|
upperPipeView.setLayoutX(400);
|
||||||
|
upperPipeView.setLayoutY(0);
|
||||||
|
|
||||||
|
ImageView lowerPipeView = new ImageView(lowerPipe);
|
||||||
|
pane.getChildren().add(lowerPipeView);
|
||||||
|
lowerPipeView.setLayoutX(400);
|
||||||
|
lowerPipeView.setLayoutY(430);
|
||||||
|
|
||||||
|
currentScoreLabel.setLayoutX(540);
|
||||||
|
currentScoreLabel.setLayoutY(10);
|
||||||
|
currentScoreLabel.setVisible(true);
|
||||||
|
highscoreLabel.setLayoutX(540);
|
||||||
|
highscoreLabel.setLayoutY(70);
|
||||||
|
highscoreLabel.setVisible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user