Merge pull request 'menu' (#43) from menu into master
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			Reviewed-on: #43 Reviewed-by: Debucquoy Anthony <d.tonitch@gmail.com>
This commit is contained in:
		@ -1,6 +1,3 @@
 | 
				
			|||||||
/*
 | 
					 | 
				
			||||||
 * This Java source file was generated by the Gradle 'init' task.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
package school_project;
 | 
					package school_project;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import javafx.application.Application;
 | 
					import javafx.application.Application;
 | 
				
			||||||
@ -10,14 +7,13 @@ import javafx.scene.Scene;
 | 
				
			|||||||
import javafx.scene.input.KeyCombination;
 | 
					import javafx.scene.input.KeyCombination;
 | 
				
			||||||
import javafx.stage.Screen;
 | 
					import javafx.stage.Screen;
 | 
				
			||||||
import javafx.stage.Stage;
 | 
					import javafx.stage.Stage;
 | 
				
			||||||
import school_project.Parsers.FileParserFactory;
 | 
					import school_project.Menu.MenuAcceuil;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import java.io.File;
 | 
					 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class Controller extends Application {
 | 
					public class Controller extends Application {
 | 
				
			||||||
    private Stage stage;
 | 
					    private static Stage stage;
 | 
				
			||||||
    Parent root;
 | 
					    Parent root;
 | 
				
			||||||
    public static Vec2 screen_size;
 | 
					    public static Vec2 screen_size;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -36,14 +32,20 @@ public class Controller extends Application {
 | 
				
			|||||||
        stage.setFullScreenExitHint("");
 | 
					        stage.setFullScreenExitHint("");
 | 
				
			||||||
        primaryStage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
 | 
					        primaryStage.setFullScreenExitKeyCombination(KeyCombination.NO_MATCH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        root = new GameUI(FileParserFactory.loadMapFromFile(new File(getClass().getResource("level11.level").getFile())));
 | 
					        root = new MenuAcceuil();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Scene scene = new Scene(root, screen_size.x, screen_size.y);
 | 
					        switchRoot(root);
 | 
				
			||||||
        stage.setScene(scene);
 | 
					 | 
				
			||||||
        stage.show();
 | 
					        stage.show();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static void switchRoot(Parent root){
 | 
				
			||||||
 | 
					        Scene scene = new Scene(root);
 | 
				
			||||||
 | 
					        stage.setScene(scene);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    public static void main(String[] args) {
 | 
					    public static void main(String[] args) {
 | 
				
			||||||
       launch();
 | 
					        launch();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										42
									
								
								app/src/main/java/school_project/Menu/MenuAcceuil.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								app/src/main/java/school_project/Menu/MenuAcceuil.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					package school_project.Menu;
 | 
				
			||||||
 | 
					import javafx.geometry.Insets;
 | 
				
			||||||
 | 
					import javafx.geometry.Pos;
 | 
				
			||||||
 | 
					import javafx.scene.control.Button;
 | 
				
			||||||
 | 
					import javafx.scene.control.Label;
 | 
				
			||||||
 | 
					import javafx.scene.layout.BorderPane;
 | 
				
			||||||
 | 
					import javafx.scene.paint.Color;
 | 
				
			||||||
 | 
					import javafx.scene.text.Font;
 | 
				
			||||||
 | 
					import school_project.Controller;
 | 
				
			||||||
 | 
					public class MenuAcceuil extends BorderPane {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public MenuAcceuil(){
 | 
				
			||||||
 | 
					        super();
 | 
				
			||||||
 | 
					        //create all the objet that i need
 | 
				
			||||||
 | 
					        Button Play = new Button("Play");
 | 
				
			||||||
 | 
					        Button SelectLevel= new Button("Select Level");
 | 
				
			||||||
 | 
					        Button Trophy = new Button("Trophy");
 | 
				
			||||||
 | 
					        Label Title = new Label("Welcome to Road to Master");
 | 
				
			||||||
 | 
					        //set up all the Button where i need
 | 
				
			||||||
 | 
					        setTop(Title);
 | 
				
			||||||
 | 
					        setLeft(Play);
 | 
				
			||||||
 | 
					        setRight(SelectLevel);
 | 
				
			||||||
 | 
					        setBottom(Trophy);
 | 
				
			||||||
 | 
					        Title.setFont(Font.font(20));
 | 
				
			||||||
 | 
					        Title.setTextFill(Color.GOLD);
 | 
				
			||||||
 | 
					        setAlignment(Title, Pos.CENTER);
 | 
				
			||||||
 | 
					        setAlignment(Play,Pos.CENTER);
 | 
				
			||||||
 | 
					        setAlignment(SelectLevel,Pos.CENTER);
 | 
				
			||||||
 | 
					        setAlignment(Trophy,Pos.CENTER);
 | 
				
			||||||
 | 
					        setPadding(new Insets(20,60,20,60));
 | 
				
			||||||
 | 
					        SelectLevel.setOnAction(event ->  Controller.switchRoot(new MenuLevel(1)));
 | 
				
			||||||
 | 
					        getStyleClass().add("BorderPane");
 | 
				
			||||||
 | 
					        getStylesheets().add(String.valueOf(getClass().getResource("StyleMenuAcceuil.css")));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										110
									
								
								app/src/main/java/school_project/Menu/MenuLevel.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								app/src/main/java/school_project/Menu/MenuLevel.java
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					package school_project.Menu;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javafx.geometry.HPos;
 | 
				
			||||||
 | 
					import javafx.geometry.Insets;
 | 
				
			||||||
 | 
					import javafx.scene.control.Button;
 | 
				
			||||||
 | 
					import javafx.scene.layout.ColumnConstraints;
 | 
				
			||||||
 | 
					import javafx.scene.layout.GridPane;
 | 
				
			||||||
 | 
					import javafx.scene.layout.RowConstraints;
 | 
				
			||||||
 | 
					import school_project.Controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class MenuLevel extends GridPane {
 | 
				
			||||||
 | 
					    private int StartLevel;
 | 
				
			||||||
 | 
					    public MenuLevel(int choose_day) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //create all Object that I need
 | 
				
			||||||
 | 
					        RowConstraints[] Rows = new RowConstraints[5];
 | 
				
			||||||
 | 
					        ColumnConstraints[] Columns = new ColumnConstraints[3];
 | 
				
			||||||
 | 
					        Button[] Days = new Button[3];
 | 
				
			||||||
 | 
					        Button BckMenu = new Button("Back to menu");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        BckMenu.setOnAction(event -> Controller.switchRoot(new MenuAcceuil()));
 | 
				
			||||||
 | 
					        setHalignment(BckMenu,HPos.CENTER);
 | 
				
			||||||
 | 
					        add(BckMenu,2,4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (int i = 0; i < Days.length; i++){
 | 
				
			||||||
 | 
					            Days[i] = new Button("Day"+(i+1));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //it's here that I know which day I can show on the screen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (choose_day == 1) {
 | 
				
			||||||
 | 
					            StartLevel = 1;
 | 
				
			||||||
 | 
					            add(Days[1],0,0);
 | 
				
			||||||
 | 
					            add(Days[2],2,0);
 | 
				
			||||||
 | 
					            setHalignment(Days[1], HPos.CENTER);
 | 
				
			||||||
 | 
					            setHalignment(Days[2], HPos.CENTER);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        else if (choose_day == 2) {
 | 
				
			||||||
 | 
					            StartLevel = 11;
 | 
				
			||||||
 | 
					            add(Days[0], 0, 0);
 | 
				
			||||||
 | 
					            add(Days[2], 2, 0);
 | 
				
			||||||
 | 
					            setHalignment(Days[0], HPos.CENTER);
 | 
				
			||||||
 | 
					            setHalignment(Days[2], HPos.CENTER);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        else if (choose_day == 3) {
 | 
				
			||||||
 | 
					            StartLevel = 21;
 | 
				
			||||||
 | 
					            add(Days[0], 0, 0);
 | 
				
			||||||
 | 
					            add(Days[1], 2, 0);
 | 
				
			||||||
 | 
					            setHalignment(Days[0], HPos.CENTER);
 | 
				
			||||||
 | 
					            setHalignment(Days[1], HPos.CENTER);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Days[0].setOnAction(event -> Controller.switchRoot(new MenuLevel(1)));
 | 
				
			||||||
 | 
					        Days[1].setOnAction(event -> Controller.switchRoot(new MenuLevel(2)));
 | 
				
			||||||
 | 
					        Days[2].setOnAction(event -> Controller.switchRoot(new MenuLevel(3)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //It's here that I put all buttons where I need (base on column not row)
 | 
				
			||||||
 | 
					        for (int i = 0; i < 3; i++) {
 | 
				
			||||||
 | 
					            for (int j = 1; j < 5; j++) {
 | 
				
			||||||
 | 
					                if(i==0){
 | 
				
			||||||
 | 
					                    Button Level = new Button("level "+(StartLevel));
 | 
				
			||||||
 | 
					                    StartLevel+=3;
 | 
				
			||||||
 | 
					                    add(Level,i,j);
 | 
				
			||||||
 | 
					                    setHalignment(Level,HPos.CENTER);
 | 
				
			||||||
 | 
					                    if(j==4){
 | 
				
			||||||
 | 
					                        StartLevel-=11;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if(i==1&&j!=4) {
 | 
				
			||||||
 | 
					                    Button Level = new Button("level "+(StartLevel));
 | 
				
			||||||
 | 
					                    StartLevel += 3;
 | 
				
			||||||
 | 
					                    add(Level, i, j);
 | 
				
			||||||
 | 
					                    setHalignment(Level,HPos.CENTER);
 | 
				
			||||||
 | 
					                    if (j == 3) {
 | 
				
			||||||
 | 
					                        StartLevel -=8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else if(i==2&&j!=4){
 | 
				
			||||||
 | 
					                    Button Level = new Button("level "+(StartLevel));
 | 
				
			||||||
 | 
					                    StartLevel+=3;
 | 
				
			||||||
 | 
					                    add(Level,i,j);
 | 
				
			||||||
 | 
					                    setHalignment(Level,HPos.CENTER);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for(int i=0;i<=2;i++){
 | 
				
			||||||
 | 
					            Columns[i] = new ColumnConstraints();
 | 
				
			||||||
 | 
					            Columns[i].setPercentWidth(33);
 | 
				
			||||||
 | 
					            getColumnConstraints().addAll(Columns[i]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (int i= 0;i<=4;i++){
 | 
				
			||||||
 | 
					            Rows[i] = new RowConstraints();
 | 
				
			||||||
 | 
					            Rows[i].setPercentHeight(20);
 | 
				
			||||||
 | 
					            getRowConstraints().addAll(Rows[i]);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        setHgap(20);
 | 
				
			||||||
 | 
					        setVgap(20);
 | 
				
			||||||
 | 
					        setPadding(new Insets(20,10,10,20));
 | 
				
			||||||
 | 
					        getStyleClass().add("GridPane");
 | 
				
			||||||
 | 
					        getStylesheets().add(String.valueOf(getClass().getResource("StyleMenuAcceuil.css")));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								app/src/main/resources/school_project/Menu/BackGround-menu.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/src/main/resources/school_project/Menu/BackGround-menu.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.1 MiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 423 KiB  | 
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					.BorderPane{
 | 
				
			||||||
 | 
					    -fx-background-image: url("BackGround-menu.jpg");
 | 
				
			||||||
 | 
					    -fx-background-position:center;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					.GridPane{
 | 
				
			||||||
 | 
					    -fx-background-image: url("Background-select-level.jpg");
 | 
				
			||||||
 | 
					    -fx-background-position:right;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user