From 32f56ed404484c3ca2a79f1edf025ec0fbdab107 Mon Sep 17 00:00:00 2001 From: ZartaX0O3 <76948902+ZartaX0O3@users.noreply.github.com> Date: Tue, 11 Jan 2022 16:43:33 +0100 Subject: [PATCH] done --- code/ressources/fxml/viewGame.fxml | 2 +- .../controller/GameConfigMenuController.java | 14 +- code/src/controller/GamePlayController.java | 278 ++---------------- code/src/controller/MapController.java | 236 ++++++++++++++- code/src/controller/PageGameController.java | 187 ------------ code/src/controller/PersoController.java | 90 +++--- code/src/model/Avatar.java | 2 +- code/src/model/Map.java | 8 +- 8 files changed, 319 insertions(+), 498 deletions(-) diff --git a/code/ressources/fxml/viewGame.fxml b/code/ressources/fxml/viewGame.fxml index 4aca4fc..af4acea 100644 --- a/code/ressources/fxml/viewGame.fxml +++ b/code/ressources/fxml/viewGame.fxml @@ -12,7 +12,7 @@ - + diff --git a/code/src/controller/GameConfigMenuController.java b/code/src/controller/GameConfigMenuController.java index 0fda1df..b70bb69 100644 --- a/code/src/controller/GameConfigMenuController.java +++ b/code/src/controller/GameConfigMenuController.java @@ -30,7 +30,7 @@ public class GameConfigMenuController implements Initializable { @FXML private ImageView ImageChange; @FXML private ToggleGroup group; - private int personnage; + private String personnage; private int difficulty; @Override @@ -43,17 +43,17 @@ public class GameConfigMenuController implements Initializable { @FXML void changeSkin1(ActionEvent event){ ImageChange.setImage(new Image("/image/personnage/Perso1.png")); - this.personnage = 1; + this.personnage = "1"; } @FXML void changeSkin2(ActionEvent event){ ImageChange.setImage(new Image("/image/personnage/Perso2.png")); - this.personnage = 2; + this.personnage = "2"; } @FXML void changeSkin3(ActionEvent event){ ImageChange.setImage(new Image("/image/personnage/Perso3.png")); - this.personnage = 3; + this.personnage = "3"; } @FXML @@ -72,9 +72,9 @@ public class GameConfigMenuController implements Initializable { @FXML void launchGame(MouseEvent event) throws Exception { AnchorPane pane = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/viewGame.fxml"))); - GamePlayController gm = new GamePlayController(); - AnchorPane gp = gm.mapInitialisation(this.difficulty, this.personnage); - levelRoot.getChildren().addAll(gp, pane); + pane.setId(personnage); + levelRoot.getChildren().setAll(pane); + System.out.println(levelRoot.getChildren()); } @FXML diff --git a/code/src/controller/GamePlayController.java b/code/src/controller/GamePlayController.java index 449b16a..9ad2677 100644 --- a/code/src/controller/GamePlayController.java +++ b/code/src/controller/GamePlayController.java @@ -24,53 +24,48 @@ public class GamePlayController implements Initializable { private final int tileSize = 20 ; - public ImageView persoImageView; + @FXML public ImageView persoImageView; @FXML public AnchorPane levelRoot; - PageGameController pageGameController; - private final Image w = new Image("/image/terrain/chemin.png"); private final Image b = new Image("/image/terrain/herbe.png"); private final Image a = new Image("/image/terrain/arbre1h.png"); private final Image c = new Image("/image/terrain/arbre1b.png"); - private final PersoController persoController = new PersoController(); + PersoController persoController = new PersoController(); Case caseActuelle; - MapController mapController; + MapController mapController = new MapController(); Case caseAncienne; String pathPerso; - Image imagePerso; @FXML @Override public void initialize(URL url, ResourceBundle resourceBundle) { - + String id = levelRoot.getId(); + System.out.println(id); + if(id.equals("1")){ + levelRoot.getChildren().addAll(mapController.mapInitialisation(1), persoController.playerInitialisation(1,2)); + persoController.setActualCase(mapController.getStartCase()); + } + else if(id.equals("2")){ + levelRoot.getChildren().addAll(mapController.mapInitialisation(2), persoController.playerInitialisation(2,2)); + persoController.setActualCase(mapController.getStartCase()); + } + else{ + levelRoot.getChildren().addAll(mapController.mapInitialisation(3), persoController.playerInitialisation(3,2)); + persoController.setActualCase(mapController.getStartCase()); + } } - public AnchorPane spawnPlayer(int difficulty, int perso) throws NullPointerException, IOException { - persoController.createPerso(difficulty, perso); - - mapController = persoController.getMapController(); - caseActuelle = mapController.getStartCase(); - pathPerso = persoController.getPath() + "2.png"; - System.out.println(pathPerso); - AnchorPane test = new AnchorPane(); - persoImageView = new ImageView(new Image(pathPerso)); - test.getChildren().add(persoImageView); - return test; - - /* - persoImageView.setLayoutY(persoController.getY()); - persoImageView.setLayoutX(persoController.getX()); - persoImageView.setFitHeight(32); - persoImageView.setFitWidth(32); - persoImageView.setImage(new Image(pathPerso)); - */ - } public void movePlayerNextCase() throws InterruptedException { - Map map = persoController.getMap(); + persoImageView = persoController.persoImageView; + caseActuelle = persoController.getActualCase(); + Map map = mapController.getMap(); + pathPerso = persoController.getPath(); + System.out.println(pathPerso); caseAncienne = caseActuelle; + System.out.println(caseActuelle); caseActuelle = mapController.getNextCase(caseActuelle); Timeline timeline = new Timeline(); timeline.setCycleCount(1); @@ -239,233 +234,6 @@ public class GamePlayController implements Initializable { System.out.println("lancer de"); } - - public AnchorPane mapInitialisation(int difficulty, int perso) throws IOException { - - if(difficulty == 1){ - - Image[][] grid = { - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} - - }; - - Image[][] grid2 = { - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,a,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,c,b,b,b,b,b,b,b,b,b,b,b,b,b,b,a,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,c,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} - }; - - GridPane gridPane = new GridPane(); - - // for visualizing the different squares: - - gridPane.setStyle("-fx-background-color: grey;"); - - for (int y = 0 ; y < grid.length ; y++) { - for (int x = 0 ; x < grid[y].length ; x++) { - ImageView imageView = new ImageView(grid[y][x]); - imageView.setFitWidth(tileSize); - imageView.setFitHeight(tileSize); - gridPane.add(imageView, x, y); - } - } - - for (int y = 0 ; y < grid2.length ; y++) { - for (int x = 0 ; x < grid2[y].length ; x++) { - if(grid2[y][x] == b) continue; - ImageView imageView = new ImageView(grid2[y][x]); - imageView.setFitWidth(tileSize); - imageView.setFitHeight(tileSize); - gridPane.add(imageView, x, y); - } - } - - AnchorPane FirstAnchor = new AnchorPane(); - FirstAnchor.getChildren().addAll(gridPane,spawnPlayer(difficulty, perso)); - return FirstAnchor; - } - - else if(difficulty == 2){ - - Image[][] grid = { - {w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} - - }; - - GridPane gridPane = new GridPane(); - - // for visualizing the different squares: - - gridPane.setStyle("-fx-background-color: grey;"); - - for (int y = 0 ; y < grid.length ; y++) { - for (int x = 0 ; x < grid[y].length ; x++) { - ImageView imageView = new ImageView(grid[y][x]); - imageView.setFitWidth(tileSize); - imageView.setFitHeight(tileSize); - gridPane.add(imageView, x, y); - } - } - - AnchorPane FirstAnchor = new AnchorPane(); - FirstAnchor.getChildren().add(gridPane); - System.out.println("difficulty : " + difficulty); - - spawnPlayer(difficulty, perso); - - return FirstAnchor; - } - - else{ - Image w = new Image("/image/terrain/chemin.png"); - Image b = new Image("/image/terrain/herbe.png"); - - - Image[][] grid = { - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, - {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w} - - }; - - GridPane gridPane = new GridPane(); - - // for visualizing the different squares: - - gridPane.setStyle("-fx-background-color: grey;"); - - for (int y = 0 ; y < grid.length ; y++) { - for (int x = 0 ; x < grid[y].length ; x++) { - ImageView imageView = new ImageView(grid[y][x]); - imageView.setFitWidth(tileSize); - imageView.setFitHeight(tileSize); - gridPane.add(imageView, x, y); - } - } - - AnchorPane FirstAnchor = new AnchorPane(); - FirstAnchor.getChildren().add(gridPane); - System.out.println("difficulty : " + difficulty); - - spawnPlayer(difficulty, perso); - - - return FirstAnchor; - } - } - private Image createImage(Color color) { WritableImage image = new WritableImage(1, 1); image.getPixelWriter().setColor(0, 0, color); diff --git a/code/src/controller/MapController.java b/code/src/controller/MapController.java index dde907c..6976b2f 100644 --- a/code/src/controller/MapController.java +++ b/code/src/controller/MapController.java @@ -1,12 +1,22 @@ package controller; import javafx.fxml.Initializable; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.GridPane; import model.Case; import model.Map; +import java.io.IOException; + public class MapController implements Initializable { - public Map map; + private Map map = new Map(32,30); + private final Image w = new Image("/image/terrain/chemin.png"); + private final Image b = new Image("/image/terrain/herbe.png"); + private final Image a = new Image("/image/terrain/arbre1h.png"); + private final Image c = new Image("/image/terrain/arbre1b.png"); @Override public void initialize(java.net.URL location, java.util.ResourceBundle resources) { @@ -14,10 +24,8 @@ public class MapController implements Initializable { } public void createMap(int difficulty) { - System.out.println(difficulty); if (difficulty == 1) { - this.map = new Map(32,30); Case case1 = new Case(1,2,2, true, false,map); Case case2 = new Case(2,3,2, false, false,map); Case case3 = new Case(3,4,2, false, false,map); @@ -40,7 +48,6 @@ public class MapController implements Initializable { map.addCase(case10); } if (difficulty == 2) { - map = new Map(32,30); Case case1 = new Case(1,2,2, true, false,map); Case case2 = new Case(2,3,2, false, false,map); Case case3 = new Case(3,4,2, false, false,map); @@ -63,7 +70,6 @@ public class MapController implements Initializable { map.addCase(case10); } if (difficulty == 3) { - map = new Map(32,30); Case case1 = new Case(1,2,2, true, false,map); Case case2 = new Case(2,3,2, false, false,map); Case case3 = new Case(3,4,2, false, false,map); @@ -89,15 +95,235 @@ public class MapController implements Initializable { System.out.println("Difficulty not found"); } } + + public AnchorPane mapInitialisation(int difficulty) { + + int tileSize = 20; + if(difficulty == 1){ + + Image[][] grid = { + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} + + }; + + Image[][] grid2 = { + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,a,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,c,b,b,b,b,b,b,b,b,b,b,b,b,b,b,a,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,c,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} + }; + + GridPane gridPane = new GridPane(); + + // for visualizing the different squares: + + gridPane.setStyle("-fx-background-color: grey;"); + + for (int y = 0 ; y < grid.length ; y++) { + for (int x = 0 ; x < grid[y].length ; x++) { + ImageView imageView = new ImageView(grid[y][x]); + imageView.setFitWidth(tileSize); + imageView.setFitHeight(tileSize); + gridPane.add(imageView, x, y); + } + } + + for (int y = 0 ; y < grid2.length ; y++) { + for (int x = 0 ; x < grid2[y].length ; x++) { + if(grid2[y][x] == b) continue; + ImageView imageView = new ImageView(grid2[y][x]); + imageView.setFitWidth(tileSize); + imageView.setFitHeight(tileSize); + gridPane.add(imageView, x, y); + } + } + + createMap(difficulty); + AnchorPane FirstAnchor = new AnchorPane(); + FirstAnchor.getChildren().addAll(gridPane); + return FirstAnchor; + } + + else if(difficulty == 2){ + + Image[][] grid = { + {w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b} + + }; + + GridPane gridPane = new GridPane(); + + // for visualizing the different squares: + + gridPane.setStyle("-fx-background-color: grey;"); + + for (int y = 0 ; y < grid.length ; y++) { + for (int x = 0 ; x < grid[y].length ; x++) { + ImageView imageView = new ImageView(grid[y][x]); + imageView.setFitWidth(tileSize); + imageView.setFitHeight(tileSize); + gridPane.add(imageView, x, y); + } + } + + AnchorPane FirstAnchor = new AnchorPane(); + FirstAnchor.getChildren().add(gridPane); + return FirstAnchor; + } + + else{ + + Image[][] grid = { + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,w,w,w,w,w,w,w,w,w,w,w,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b}, + {b,b,b,b,b,b,b,b,b,b,b,w,w,w,b,b,b,b,b,b,b,b,b,b,b,b,b,b,w,w} + + }; + + GridPane gridPane = new GridPane(); + + // for visualizing the different squares: + + gridPane.setStyle("-fx-background-color: grey;"); + + for (int y = 0 ; y < grid.length ; y++) { + for (int x = 0 ; x < grid[y].length ; x++) { + ImageView imageView = new ImageView(grid[y][x]); + imageView.setFitWidth(tileSize); + imageView.setFitHeight(tileSize); + gridPane.add(imageView, x, y); + } + } + + AnchorPane FirstAnchor = new AnchorPane(); + FirstAnchor.getChildren().add(gridPane); + return FirstAnchor; + } + } + public Map getMap(){ return this.map; } + public Case getCaseStart(){ return map.getStartCase(); } + public Case getNextCase(Case c){ return map.getNextCase(c); } + public Case getStartCase(){ return map.getStartCase(); } diff --git a/code/src/controller/PageGameController.java b/code/src/controller/PageGameController.java index 840e19f..8aefff4 100644 --- a/code/src/controller/PageGameController.java +++ b/code/src/controller/PageGameController.java @@ -36,199 +36,12 @@ public class PageGameController implements Initializable { String pathPerso; Image imagePerso; - public void spawnPlayer(ImageView ImageView, int difficulty) { - if(persoImageView != null) { - System.out.println("persoImageView is null"); - }else { - System.out.println("persoImageView is not null"); - } - this.persoImageView = ImageView; - persoController = new PersoController(); - persoController.createPerso(difficulty, 1); - mapController = persoController.getMapController(); - caseActuelle = mapController.getStartCase(); - pathPerso = persoController.getPath(); - imagePerso = new Image(getClass().getClassLoader().getResource(pathPerso+"2.png").toExternalForm()); - persoImageView.setLayoutY(persoController.getY()); - persoImageView.setLayoutX(persoController.getX()); - persoImageView.setFitHeight(32); - persoImageView.setFitWidth(32); - persoImageView.setImage(imagePerso); - - } - - public void movePlayerNextCase() throws InterruptedException { - mapController = persoController.getMapController(); - Map map = persoController.getMap(); - caseAncienne = caseActuelle; - caseActuelle = mapController.getNextCase(caseActuelle); - Timeline timeline = new Timeline(); - timeline.setCycleCount(1); - - //animation déplacement vers la droite - if(caseActuelle.getCoordX() > caseAncienne.getCoordX()){ - Image imagePerso7 = new Image(getClass().getClassLoader().getResource(pathPerso+"7.png").toExternalForm()); - Image imagePerso8 = new Image(getClass().getClassLoader().getResource(pathPerso+"8.png").toExternalForm()); - Image imagePerso9 = new Image(getClass().getClassLoader().getResource(pathPerso+"9.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { - persoImageView.setImage(imagePerso8); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { - persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { - persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { - persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { - persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { - persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { - persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { - persoImageView.setImage(imagePerso8); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.play(); - } - //animation déplacement vers la gauche - if(caseActuelle.getCoordX() < caseAncienne.getCoordX()){ - Image imagePerso4 = new Image(getClass().getClassLoader().getResource(pathPerso+"4.png").toExternalForm()); - Image imagePerso5 = new Image(getClass().getClassLoader().getResource(pathPerso+"5.png").toExternalForm()); - Image imagePerso6 = new Image(getClass().getClassLoader().getResource(pathPerso+"6.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { - persoImageView.setImage(imagePerso5); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { - persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { - persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { - persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { - persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { - persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { - persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { - persoImageView.setImage(imagePerso5); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); - })); - timeline.play(); - } - //animation déplacement vers le haut - if(caseActuelle.getCoordY() < caseAncienne.getCoordY()){ - Image imagePerso10 = new Image(getClass().getClassLoader().getResource(pathPerso+"10.png").toExternalForm()); - Image imagePerso11 = new Image(getClass().getClassLoader().getResource(pathPerso+"11.png").toExternalForm()); - Image imagePerso12 = new Image(getClass().getClassLoader().getResource(pathPerso+"12.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { - persoImageView.setImage(imagePerso11); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { - persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { - persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { - persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { - persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { - persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { - persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { - persoImageView.setImage(imagePerso11); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.play(); - } - //animation déplacement vers le bas - if(caseActuelle.getCoordY() > caseAncienne.getCoordY()){ - Image imagePerso1 = new Image(getClass().getClassLoader().getResource(pathPerso+"1.png").toExternalForm()); - Image imagePerso2 = new Image(getClass().getClassLoader().getResource(pathPerso+"2.png").toExternalForm()); - Image imagePerso3 = new Image(getClass().getClassLoader().getResource(pathPerso+"3.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { - persoImageView.setImage(imagePerso2); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { - persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { - persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { - persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { - persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { - persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { - persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { - persoImageView.setImage(imagePerso2); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); - })); - timeline.play(); - } - } @Override public void initialize(URL url, ResourceBundle resourceBundle) { } public void lancerDe(ActionEvent actionEvent) throws InterruptedException { - movePlayerNextCase(); System.out.println("lancer de"); } } diff --git a/code/src/controller/PersoController.java b/code/src/controller/PersoController.java index 6769098..cfef34e 100644 --- a/code/src/controller/PersoController.java +++ b/code/src/controller/PersoController.java @@ -1,55 +1,51 @@ package controller; +import javafx.fxml.FXML; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.AnchorPane; import model.Avatar; -import model.Map; +import model.Case; public class PersoController { - Avatar avatar; - MapController mc; - private int test = 2; - - private Map map; - - public void createPerso(int difficulty, int perso) { - mc = new MapController(); - mc.createMap(difficulty); - this.map = mc.getMap(); - System.out.println(map); - test = 14; - if (perso == 1) { - avatar = new Avatar(1, "image/personnage/Perso1."); - System.out.println("Perso 1"); - } - if(perso == 2){ - avatar = new Avatar(2, "image/personnage/Perso2."); - System.out.println("Perso 2"); - } - if(perso == 3){ - avatar = new Avatar(3, "image/personnage/Perso3."); - System.out.println("Perso 3"); - } - if(perso != 1 && perso != 2 && perso != 3){ - System.out.println("Perso non reconnu"); - } - if (avatar == null) { - System.out.println("Erreur avatar"); - } else { - System.out.println("Avatar créé"); + @FXML + public ImageView persoImageView; + + + private Avatar avatar; + private Case actualCase; + private Case oldCase; + + public void createAvatar(int difficulty, int perso) { + switch (perso) { + case 1: + this.avatar = new Avatar(1, "image/personnage/Perso1."); + break; + case 2: + this.avatar = new Avatar(2, "image/personnage/Perso2."); + break; + case 3: + this.avatar = new Avatar(3, "image/personnage/Perso3."); + break; + default: + System.out.println("Erreur de choix du personnage [createPerso] unknown number"); } } - public Map getMap() { - System.out.println(test); - return this.map; - } + public AnchorPane playerInitialisation(int difficulty, int perso) { + + createAvatar(difficulty, perso); - public MapController getMapController() { - return mc; + String imagePath = getPath() + "2.png"; + AnchorPane test = new AnchorPane(); + persoImageView = new ImageView(new Image(imagePath)); + persoImageView.setId("persoImageView"); + test.getChildren().add(persoImageView); + return test; } public String getPath(){ - System.out.println(avatar.getImage()); return avatar.getImage(); } @@ -61,4 +57,20 @@ public class PersoController { public int getY(){ return avatar.getCoordY(); } + + public void setActualCase(Case actual){ + this.actualCase = actual; + } + + public Case getActualCase() { + return this.actualCase; + } + + public void setOldCase(Case old){ + this.oldCase = old; + } + + public Case getOldCase(){ + return this.oldCase; + } } diff --git a/code/src/model/Avatar.java b/code/src/model/Avatar.java index 42fca05..abdd326 100644 --- a/code/src/model/Avatar.java +++ b/code/src/model/Avatar.java @@ -23,7 +23,7 @@ public class Avatar { } public String getImage() { - return image; + return this.image; } public int getCoordX() { diff --git a/code/src/model/Map.java b/code/src/model/Map.java index e256464..072f597 100644 --- a/code/src/model/Map.java +++ b/code/src/model/Map.java @@ -30,7 +30,7 @@ public class Map { } public int getCoordStartX(){ for(Case c : this.map){ - if(c.isStart == true){ + if(c.isStart){ return c.getCoordX(); } } @@ -38,12 +38,13 @@ public class Map { } public int getCoordStartY(){ for(Case c : this.map){ - if(c.isStart == true){ + if(c.isStart){ return c.getCoordY(); } } return 666; //code erreur } + public Case getNextCase(Case c){ int i; int j; @@ -56,9 +57,10 @@ public class Map { } return c; } + public Case getStartCase(){ for(Case c : this.map){ - if(c.isStart == true){ + if(c.isStart){ return c; } }