Add a Load Level Button
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing

This commit is contained in:
Mat 2023-05-18 17:51:37 +02:00 committed by Anthony Debucquoy
parent ac6c8611e7
commit 9a244dccc4
Signed by: tonitch
GPG Key ID: A78D6421F083D42E
2 changed files with 71 additions and 15 deletions

View File

@ -9,6 +9,7 @@ import javafx.stage.Screen;
import javafx.stage.Stage; import javafx.stage.Stage;
import school_project.Menu.MenuAccueil; import school_project.Menu.MenuAccueil;
import java.io.File;
import java.io.IOException; import java.io.IOException;
@ -19,6 +20,7 @@ public class Controller extends Application {
@Override @Override
public void start(Stage primaryStage) throws IOException { public void start(Stage primaryStage) throws IOException {
new File("save.slevel");
stage = primaryStage; stage = primaryStage;
screen_size = new Vec2( screen_size = new Vec2(
(int) Screen.getPrimary().getBounds().getWidth(), (int) Screen.getPrimary().getBounds().getWidth(),

View File

@ -7,29 +7,83 @@ import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import javafx.scene.text.Font; import javafx.scene.text.Font;
import school_project.Controller; import school_project.Controller;
public class MenuAccueil extends BorderPane { import school_project.GameUI;
import school_project.MapGenerator;
import school_project.Parsers.FileParser;
import school_project.Parsers.FileParserFactory;
import school_project.Parsers.SerializeParser.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
public MenuAccueil(){ public MenuAccueil(){
super(); super();
//create all the objet that i need //create all the objet that I need
Button Play = new Button("Play"); ChoiceBox<String> SlctDifficulty = new ChoiceBox<>();
SlctDifficulty.getItems().addAll("Easy", "Medium", "Difficult");
Label RdmLvl = new Label("Random Level : ");
Button LoadLvl = new Button("Load game");
Button SelectLevel= new Button("Select Level"); Button SelectLevel= new Button("Select Level");
Button Trophy = new Button("Trophy"); Button Trophy = new Button("Trophy");
Label Title = new Label("Welcome to Road to Master"); Label Title = new Label("Welcome to Road to Master");
//set up all the Button where i need SlctDifficulty.setOnAction(event -> {
setTop(Title); String choosediff = SlctDifficulty.getSelectionModel().getSelectedItem();
setLeft(Play); System.out.println(choosediff);
setRight(SelectLevel); switch (choosediff) {
setBottom(Trophy); case "Easy":
Title.setFont(Font.font(20)); try {
Title.setTextFill(Color.GOLD); Controller.switchRoot(new GameUI(MapGenerator.generate(MapGenerator.Difficulty.Easy)));
setAlignment(Title, Pos.CENTER); } catch (FileNotFoundException e) {
setAlignment(Play,Pos.CENTER); throw new RuntimeException(e);
setAlignment(SelectLevel,Pos.CENTER); }
setAlignment(Trophy,Pos.CENTER); break;
setPadding(new Insets(20,60,20,60)); case "Medium":
try {
Controller.switchRoot(new GameUI(MapGenerator.generate(MapGenerator.Difficulty.Medium)));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
break;
case "Difficult":
try {
Controller.switchRoot(new GameUI(MapGenerator.generate(MapGenerator.Difficulty.Difficult)));
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
break;
}
});
//set up all the Button where I need
getChildren().addAll(Title,SlctDifficulty,SelectLevel,RdmLvl,LoadLvl);
RdmLvl.setFont(Font.font(25));
RdmLvl.setTextFill(Color.GOLD);
Title.setFont(Font.font(40));
Title.setTextFill(Color.RED);
setAlignment(Title, Pos.TOP_CENTER);
setAlignment(LoadLvl,Pos.BOTTOM_CENTER);
setAlignment(SlctDifficulty,Pos.CENTER_LEFT);
setAlignment(SelectLevel,Pos.CENTER_RIGHT);
setAlignment(RdmLvl, Pos.CENTER_LEFT);
setMargin(RdmLvl,new Insets(0,0,0,100));
setMargin(SlctDifficulty,new Insets(0,0,0,300));
setMargin(SelectLevel,new Insets(0,300,0,0));
setMargin(Title,new Insets(200,0,0,0));
setMargin(LoadLvl,new Insets(0,0,200,0));
SelectLevel.setOnAction(event -> Controller.switchRoot(new MenuLevel(1))); SelectLevel.setOnAction(event -> Controller.switchRoot(new MenuLevel(1)));
LoadLvl.setOnAction(event -> {
try {
FileParserFactory.loadMapFromFile(new File("save.slevel"));
} catch (IOException e) {
throw new RuntimeException(e);
}
});
getStyleClass().add("BorderPane"); getStyleClass().add("BorderPane");
getStylesheets().add(String.valueOf(getClass().getResource("StyleMenuAcceuil.css"))); getStylesheets().add(String.valueOf(getClass().getResource("StyleMenuAcceuil.css")));