diff --git a/code/ressources/fxml/viewGame.fxml b/code/ressources/fxml/viewGame.fxml index af4acea..4503386 100644 --- a/code/ressources/fxml/viewGame.fxml +++ b/code/ressources/fxml/viewGame.fxml @@ -12,12 +12,12 @@ - + - + - - + + @@ -42,6 +42,11 @@ + + + + + diff --git a/code/src/controller/GameConfigMenuController.java b/code/src/controller/GameConfigMenuController.java index b70bb69..f03e709 100644 --- a/code/src/controller/GameConfigMenuController.java +++ b/code/src/controller/GameConfigMenuController.java @@ -4,14 +4,16 @@ import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; +import javafx.scene.Parent; +import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; -import javafx.scene.layout.GridPane; +import javafx.stage.Stage; +import javafx.stage.Window; -import java.io.IOException; import java.net.URL; import java.util.Objects; import java.util.ResourceBundle; @@ -71,10 +73,14 @@ public class GameConfigMenuController implements Initializable { @FXML void launchGame(MouseEvent event) throws Exception { - AnchorPane pane = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/viewGame.fxml"))); + Parent pane = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/viewGame.fxml"))); pane.setId(personnage); - levelRoot.getChildren().setAll(pane); - System.out.println(levelRoot.getChildren()); + Stage a = new Stage(); + a.setScene(new Scene(pane, 1300, 900)); + a.setResizable(false); + a.show(); + Stage stage = (Stage) levelRoot.getScene().getWindow(); + stage.close(); } @FXML diff --git a/code/src/controller/GamePlayController.java b/code/src/controller/GamePlayController.java index c9ba84f..8f421d0 100644 --- a/code/src/controller/GamePlayController.java +++ b/code/src/controller/GamePlayController.java @@ -23,9 +23,11 @@ import java.util.ResourceBundle; public class GamePlayController implements Initializable { private final int tileSize = 20 ; + private final int avancementCase = 4; @FXML public ImageView persoImageView; @FXML public AnchorPane levelRoot; + @FXML public ImageView de; PersoController persoController = new PersoController(); Case caseActuelle; @@ -37,17 +39,16 @@ public class GamePlayController implements Initializable { @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)); + levelRoot.getChildren().addAll(mapController.mapInitialisation(1), persoController.playerInitialisation(1,2, mapController.getMap())); persoController.setActualCase(mapController.getStartCase()); } else if(id.equals("2")){ - levelRoot.getChildren().addAll(mapController.mapInitialisation(2), persoController.playerInitialisation(2,2)); + levelRoot.getChildren().addAll(mapController.mapInitialisation(2), persoController.playerInitialisation(2,2, mapController.getMap())); persoController.setActualCase(mapController.getStartCase()); } else{ - levelRoot.getChildren().addAll(mapController.mapInitialisation(3), persoController.playerInitialisation(3,2)); + levelRoot.getChildren().addAll(mapController.mapInitialisation(3), persoController.playerInitialisation(3,2, mapController.getMap())); persoController.setActualCase(mapController.getStartCase()); } } @@ -60,8 +61,10 @@ public class GamePlayController implements Initializable { pathPerso = persoController.getPath(); System.out.println(pathPerso); caseAncienne = caseActuelle; + persoController.setOldCase(caseAncienne); System.out.println(caseActuelle); caseActuelle = mapController.getNextCase(caseActuelle); + persoController.setActualCase(caseActuelle); Timeline timeline = new Timeline(); timeline.setCycleCount(1); @@ -73,35 +76,35 @@ public class GamePlayController implements Initializable { Image imagePerso9 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "9.png")).toExternalForm()); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { persoImageView.setImage(imagePerso8); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { persoImageView.setImage(imagePerso7); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { persoImageView.setImage(imagePerso9); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { persoImageView.setImage(imagePerso8); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); timeline.play(); } @@ -112,35 +115,35 @@ public class GamePlayController implements Initializable { 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); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { persoImageView.setImage(imagePerso4); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { persoImageView.setImage(imagePerso6); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { persoImageView.setImage(imagePerso5); - persoImageView.setLayoutX(persoImageView.getLayoutX()+4); + persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); timeline.play(); } @@ -151,35 +154,35 @@ public class GamePlayController implements Initializable { 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); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { persoImageView.setImage(imagePerso10); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { persoImageView.setImage(imagePerso12); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { persoImageView.setImage(imagePerso11); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); timeline.play(); } @@ -190,43 +193,61 @@ public class GamePlayController implements Initializable { 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); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { persoImageView.setImage(imagePerso1); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { persoImageView.setImage(imagePerso3); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { persoImageView.setImage(imagePerso2); - persoImageView.setLayoutY(persoImageView.getLayoutY()+4); + persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); timeline.play(); } } public void lancerDe(ActionEvent actionEvent) throws InterruptedException { - movePlayerNextCase(); - System.out.println("lancer de"); + animationDe(); + } + + public void animationDe() throws InterruptedException { + int i, diceNumber = 0; + Timeline timeline = new Timeline(); + timeline.setCycleCount(1); + + for( i = 0; i<10; i++){ + diceNumber = (int) (Math.random()*6 +1); + String path = "image/dé/d" + diceNumber + ".png"; + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(50*i), event -> { + de.setImage(new Image(path)); + })); + } + timeline.play(); + + for(i=0;i map; + private final int sizeTile; + private final int sizeMap; + private final ArrayList map; + private int coordStartX; + private int coordStartY; public Map(int sizeTile, int sizeMap) { this.sizeTile = sizeTile; this.sizeMap = sizeMap; this.map = new ArrayList(); + this.coordStartX = getCoordStartX(); + this.coordStartY = getCoordStartY(); } public void addCase(Case c) { this.map.add(c); + if(c.isStart){ + setCoordStartX(c.coordX); + setCoordStartY(c.coordY); + } } public void removeCase(Case c) { this.map.remove(c); @@ -29,20 +37,16 @@ public class Map { return this.sizeMap; } public int getCoordStartX(){ - for(Case c : this.map){ - if(c.isStart){ - return c.getCoordX(); - } - } - return 666; //code erreur + return coordStartX; + } + public void setCoordStartX(int x){ + this.coordStartX = x; } public int getCoordStartY(){ - for(Case c : this.map){ - if(c.isStart){ - return c.getCoordY(); - } - } - return 666; //code erreur + return coordStartY; + } + public void setCoordStartY(int y){ + this.coordStartY = y; } public Case getNextCase(Case c){ @@ -61,6 +65,7 @@ public class Map { public Case getStartCase(){ for(Case c : this.map){ if(c.isStart){ + System.out.println(c); return c; } }