Modification GamePlayController.java et MapController.java

main
ZartaX0O3 3 years ago
parent c57ee6190d
commit 5a7cdfd3da

@ -12,12 +12,12 @@
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<?import javafx.scene.control.Button?> <?import javafx.scene.control.Button?>
<AnchorPane fx:id="levelRoot" id="1" fx:controller="controller.GamePlayController" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/11" xmlns:fx="http://javafx.com/fxml/1" > <AnchorPane fx:id="levelRoot" id="1" fx:controller="controller.GamePlayController" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1300.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/11" xmlns:fx="http://javafx.com/fxml/1" >
<children> <children>
<AnchorPane minHeight="300.0" minWidth="300.0" prefHeight="608.0" prefWidth="348.0" layoutX="600.0"> <AnchorPane minHeight="400.0" minWidth="400.0" prefHeight="608.0" prefWidth="348.0" layoutX="960.0">
<children> <children>
<Rectangle arcHeight="5.0" arcWidth="5.0" fill="#323436" height="608.0" layoutY="0.0" stroke="BLACK" strokeType="INSIDE" width="312.0" /> <Rectangle arcHeight="5.0" arcWidth="5.0" fill="#323436" height="900.0" layoutY="0.0" stroke="BLACK" strokeType="INSIDE" width="340" />
<ImageView fitHeight="128.0" fitWidth="93.0" layoutX="29.0" layoutY="33.0" pickOnBounds="true" preserveRatio="true"> <ImageView fitHeight="128.0" fitWidth="93.0" layoutX="50.0" layoutY="33.0" pickOnBounds="true" preserveRatio="true">
<image> <image>
<Image url="@../image/personnage/Perso1.2.png" /> <Image url="@../image/personnage/Perso1.2.png" />
</image> </image>
@ -42,6 +42,11 @@
<Shadow /> <Shadow />
</effect> </effect>
</JFXButton> </JFXButton>
<ImageView fx:id="de" fitWidth="75" fitHeight="75" layoutX="100" layoutY="580.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../image/dé/icon.png"/>
</image>
</ImageView>
</children> </children>
</AnchorPane> </AnchorPane>
</children> </children>

@ -4,14 +4,16 @@ import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader; import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable; import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*; import javafx.scene.control.*;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent; import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane; 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.net.URL;
import java.util.Objects; import java.util.Objects;
import java.util.ResourceBundle; import java.util.ResourceBundle;
@ -71,10 +73,14 @@ public class GameConfigMenuController implements Initializable {
@FXML @FXML
void launchGame(MouseEvent event) throws Exception { 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); pane.setId(personnage);
levelRoot.getChildren().setAll(pane); Stage a = new Stage();
System.out.println(levelRoot.getChildren()); a.setScene(new Scene(pane, 1300, 900));
a.setResizable(false);
a.show();
Stage stage = (Stage) levelRoot.getScene().getWindow();
stage.close();
} }
@FXML @FXML

@ -23,9 +23,11 @@ import java.util.ResourceBundle;
public class GamePlayController implements Initializable { public class GamePlayController implements Initializable {
private final int tileSize = 20 ; private final int tileSize = 20 ;
private final int avancementCase = 4;
@FXML public ImageView persoImageView; @FXML public ImageView persoImageView;
@FXML public AnchorPane levelRoot; @FXML public AnchorPane levelRoot;
@FXML public ImageView de;
PersoController persoController = new PersoController(); PersoController persoController = new PersoController();
Case caseActuelle; Case caseActuelle;
@ -37,17 +39,16 @@ public class GamePlayController implements Initializable {
@Override @Override
public void initialize(URL url, ResourceBundle resourceBundle) { public void initialize(URL url, ResourceBundle resourceBundle) {
String id = levelRoot.getId(); String id = levelRoot.getId();
System.out.println(id);
if(id.equals("1")){ 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()); persoController.setActualCase(mapController.getStartCase());
} }
else if(id.equals("2")){ 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()); persoController.setActualCase(mapController.getStartCase());
} }
else{ 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()); persoController.setActualCase(mapController.getStartCase());
} }
} }
@ -60,8 +61,10 @@ public class GamePlayController implements Initializable {
pathPerso = persoController.getPath(); pathPerso = persoController.getPath();
System.out.println(pathPerso); System.out.println(pathPerso);
caseAncienne = caseActuelle; caseAncienne = caseActuelle;
persoController.setOldCase(caseAncienne);
System.out.println(caseActuelle); System.out.println(caseActuelle);
caseActuelle = mapController.getNextCase(caseActuelle); caseActuelle = mapController.getNextCase(caseActuelle);
persoController.setActualCase(caseActuelle);
Timeline timeline = new Timeline(); Timeline timeline = new Timeline();
timeline.setCycleCount(1); 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()); Image imagePerso9 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "9.png")).toExternalForm());
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> {
persoImageView.setImage(imagePerso8); persoImageView.setImage(imagePerso8);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> {
persoImageView.setImage(imagePerso7); persoImageView.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> {
persoImageView.setImage(imagePerso9); persoImageView.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> {
persoImageView.setImage(imagePerso7); persoImageView.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> {
persoImageView.setImage(imagePerso9); persoImageView.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> {
persoImageView.setImage(imagePerso7); persoImageView.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> {
persoImageView.setImage(imagePerso9); persoImageView.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> {
persoImageView.setImage(imagePerso8); persoImageView.setImage(imagePerso8);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase);
})); }));
timeline.play(); timeline.play();
} }
@ -112,35 +115,35 @@ public class GamePlayController implements Initializable {
Image imagePerso6 = new Image(getClass().getClassLoader().getResource(pathPerso+"6.png").toExternalForm()); Image imagePerso6 = new Image(getClass().getClassLoader().getResource(pathPerso+"6.png").toExternalForm());
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> {
persoImageView.setImage(imagePerso5); persoImageView.setImage(imagePerso5);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> {
persoImageView.setImage(imagePerso4); persoImageView.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> {
persoImageView.setImage(imagePerso6); persoImageView.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> {
persoImageView.setImage(imagePerso4); persoImageView.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> {
persoImageView.setImage(imagePerso6); persoImageView.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> {
persoImageView.setImage(imagePerso4); persoImageView.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> {
persoImageView.setImage(imagePerso6); persoImageView.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> {
persoImageView.setImage(imagePerso5); persoImageView.setImage(imagePerso5);
persoImageView.setLayoutX(persoImageView.getLayoutX()+4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase);
})); }));
timeline.play(); timeline.play();
} }
@ -151,35 +154,35 @@ public class GamePlayController implements Initializable {
Image imagePerso12 = new Image(getClass().getClassLoader().getResource(pathPerso+"12.png").toExternalForm()); Image imagePerso12 = new Image(getClass().getClassLoader().getResource(pathPerso+"12.png").toExternalForm());
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> {
persoImageView.setImage(imagePerso11); persoImageView.setImage(imagePerso11);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> {
persoImageView.setImage(imagePerso10); persoImageView.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> {
persoImageView.setImage(imagePerso12); persoImageView.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> {
persoImageView.setImage(imagePerso10); persoImageView.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> {
persoImageView.setImage(imagePerso12); persoImageView.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> {
persoImageView.setImage(imagePerso10); persoImageView.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> {
persoImageView.setImage(imagePerso12); persoImageView.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> {
persoImageView.setImage(imagePerso11); persoImageView.setImage(imagePerso11);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase);
})); }));
timeline.play(); timeline.play();
} }
@ -190,43 +193,61 @@ public class GamePlayController implements Initializable {
Image imagePerso3 = new Image(getClass().getClassLoader().getResource(pathPerso+"3.png").toExternalForm()); Image imagePerso3 = new Image(getClass().getClassLoader().getResource(pathPerso+"3.png").toExternalForm());
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> {
persoImageView.setImage(imagePerso2); persoImageView.setImage(imagePerso2);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> {
persoImageView.setImage(imagePerso1); persoImageView.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> {
persoImageView.setImage(imagePerso3); persoImageView.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> {
persoImageView.setImage(imagePerso1); persoImageView.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> {
persoImageView.setImage(imagePerso3); persoImageView.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> {
persoImageView.setImage(imagePerso1); persoImageView.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> {
persoImageView.setImage(imagePerso3); persoImageView.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> {
persoImageView.setImage(imagePerso2); persoImageView.setImage(imagePerso2);
persoImageView.setLayoutY(persoImageView.getLayoutY()+4); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
timeline.play(); timeline.play();
} }
} }
public void lancerDe(ActionEvent actionEvent) throws InterruptedException { public void lancerDe(ActionEvent actionEvent) throws InterruptedException {
movePlayerNextCase(); animationDe();
System.out.println("lancer de"); }
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<diceNumber;i++){
movePlayerNextCase();
}
} }
private Image createImage(Color color) { private Image createImage(Color color) {

@ -8,11 +8,9 @@ import javafx.scene.layout.GridPane;
import model.Case; import model.Case;
import model.Map; import model.Map;
import java.io.IOException;
public class MapController implements Initializable { public class MapController implements Initializable {
private Map map = new Map(32,30); private final Map map = new Map(32,30);
private final Image b = new Image("/image/terrain/chemin.png"); private final Image b = new Image("/image/terrain/chemin.png");
private final Image a = new Image("/image/terrain/herbe.png"); private final Image a = new Image("/image/terrain/herbe.png");
private final Image c = new Image("/image/terrain/arbre2hg.png"); private final Image c = new Image("/image/terrain/arbre2hg.png");
@ -46,28 +44,18 @@ public class MapController implements Initializable {
} }
public void createMap(int difficulty) { public void createMap(int difficulty) {
if (difficulty == 1) {
Case case1 = new Case(1,2,2, true, false,map); int[][] coordFirstDifficultyMap = {{0,24},{1,24},{2,24},{3,24},{4,24},{5,24},{5,23},{5,22},{5,21},{5,20},{5,19},{5,18},{6,18},{7,18},{8,18},{9,18},{10,18},{11,18},{12,18},{12,17},{12,16},{12,15},{12,14},{12,13},{12,12},{11,12},{10,12},{9,12},{8,12},{7,12},{6,12}};
Case case2 = new Case(2,3,2, false, false,map);
Case case3 = new Case(3,4,2, false, false,map); if (difficulty == 1) {
Case case4 = new Case(4,5,2, false, false,map); int j = 1;
Case case5 = new Case(5,5,3, false, false,map); for(int[] i : coordFirstDifficultyMap){
Case case6 = new Case(6,5,4, false, false,map); boolean bool = j == 1;
Case case7 = new Case(7,5,5, false, false,map); System.out.println("Taille case :" +coordFirstDifficultyMap.length);
Case case8 = new Case(8,5,6, false, false,map); Case case1 = new Case(j, i[0], i [1], bool, false, map);
Case case9 = new Case(9,5,7, false, false,map); map.addCase(case1);
Case case10 = new Case(10,5,8, false, false,map); j++;
map.addCase(case1); }
map.addCase(case2);
map.addCase(case3);
map.addCase(case4);
map.addCase(case5);
map.addCase(case6);
map.addCase(case7);
map.addCase(case8);
map.addCase(case9);
map.addCase(case10);
} }
if (difficulty == 2) { if (difficulty == 2) {
Case case1 = new Case(1,2,2, true, false,map); Case case1 = new Case(1,2,2, true, false,map);
@ -120,7 +108,7 @@ public class MapController implements Initializable {
public AnchorPane mapInitialisation(int difficulty) { public AnchorPane mapInitialisation(int difficulty) {
int tileSize = 20; int tileSize = 32;
if(difficulty == 1){ if(difficulty == 1){
Image[][] grid = { Image[][] grid = {
@ -162,7 +150,7 @@ public class MapController implements Initializable {
{c,d,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,e,y,x,y}, {c,d,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,e,y,x,y},
{e,f,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,m,o,o,o,e,f,e}, {e,f,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,m,o,o,o,e,f,e},
{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}, {o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o},
{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,t,t,o}, {o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,t,u,o},
{n,o,o,o,o,o,o,o,n,o,o,o,o,c,d,o,o,o,o,o,o,o,n,o,o,o,o,o,o,o}, {n,o,o,o,o,o,o,o,n,o,o,o,o,c,d,o,o,o,o,o,o,o,n,o,o,o,o,o,o,o},
{o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,o,m,o,o,o,o,o,o,o,o,c,d,o,o,o}, {o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,o,m,o,o,o,o,o,o,o,o,c,d,o,o,o},
{o,o,o,o,o,o,c,d,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,o,o,o}, {o,o,o,o,o,o,c,d,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,e,f,o,o,o},

@ -6,6 +6,7 @@ import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import model.Avatar; import model.Avatar;
import model.Case; import model.Case;
import model.Map;
public class PersoController { public class PersoController {
@ -17,30 +18,42 @@ public class PersoController {
private Case actualCase; private Case actualCase;
private Case oldCase; private Case oldCase;
public void createAvatar(int difficulty, int perso) { public void createAvatar(int difficulty, int perso, Map map) {
switch (perso) { switch (perso) {
case 1: case 1:
this.avatar = new Avatar(1, "image/personnage/Perso1."); this.avatar = new Avatar(1, "image/personnage/Perso1.",map.getCoordStartX(), map.getCoordStartY());
System.out.println("Size tile :" + map.getSizeTile());
System.out.println("Coord X Start" + map.getCoordStartX());
break; break;
case 2: case 2:
this.avatar = new Avatar(2, "image/personnage/Perso2."); this.avatar = new Avatar(2, "image/personnage/Perso2.", map.getCoordStartX(), map.getCoordStartY());
System.out.println("Size tile : " + map.getSizeTile());
System.out.println("Coord X Start : " + map.getCoordStartX());
System.out.println("Coord Y Start : " + map.getCoordStartY());
break; break;
case 3: case 3:
this.avatar = new Avatar(3, "image/personnage/Perso3."); this.avatar = new Avatar(3, "image/personnage/Perso3.", map.getCoordStartX(), map.getCoordStartY());
System.out.println("Size tile :" + map.getSizeTile());
System.out.println("Coord X Start" + map.getCoordStartX());
break; break;
default: default:
System.out.println("Erreur de choix du personnage [createPerso] unknown number"); System.out.println("Erreur de choix du personnage [createPerso] unknown number");
} }
} }
public AnchorPane playerInitialisation(int difficulty, int perso) { public AnchorPane playerInitialisation(int difficulty, int perso, Map map) {
createAvatar(difficulty, perso); createAvatar(difficulty, perso, map);
String imagePath = getPath() + "2.png"; String imagePath = getPath() + "2.png";
AnchorPane test = new AnchorPane(); AnchorPane test = new AnchorPane();
persoImageView = new ImageView(new Image(imagePath)); persoImageView = new ImageView(new Image(imagePath));
persoImageView.setId("persoImageView"); persoImageView.setId("persoImageView");
persoImageView.setFitWidth(35);
persoImageView.setFitHeight(35);
System.out.println("X :" + getX());
persoImageView.setLayoutX(getX()*map.getSizeTile()-5);
persoImageView.setLayoutY(getY()*map.getSizeTile()-5);
test.getChildren().add(persoImageView); test.getChildren().add(persoImageView);
return test; return test;
} }

@ -20,22 +20,6 @@ public class Album {
} }
public void play() throws InterruptedException { public void play() throws InterruptedException {
//System.out.println(listeMusiques.get(0).getPath());
/*AudioClip mediaPlayer;
Musique musicActuelle;
int i=1;
while(mediaPlayer.isPlaying() == true) {
musicActuelle = listeMusiques.get(i);
if (musicActuelle == null) {
i = 0;
}
Media media = new Media(Objects.requireNonNull(getClass().getResource(musicActuelle.getPath())).toExternalForm());
mediaPlayer = new AudioClip(media.getSource());
mediaPlayer.volumeProperty().setValue(0.025);
mediaPlayer.play();
i++;
}*/
musicThread = new Thread("musique") { musicThread = new Thread("musique") {
public void run(){ public void run(){

@ -11,8 +11,8 @@ public class Case {
public Case(int idCase, int coordX, int coordY, boolean isStart, boolean isEnd, Map map) { public Case(int idCase, int coordX, int coordY, boolean isStart, boolean isEnd, Map map) {
this.sizeTile = map.getSizeTile(); this.sizeTile = map.getSizeTile();
this.idCase = idCase; this.idCase = idCase;
this.coordX = coordX*sizeTile; this.coordX = coordX;
this.coordY = coordY*sizeTile; this.coordY = coordY;
this.isStart = isStart; this.isStart = isStart;
this.isEnd = isEnd; this.isEnd = isEnd;
} }

@ -3,18 +3,26 @@ package model;
import java.util.ArrayList; import java.util.ArrayList;
public class Map { public class Map {
private int sizeTile; private final int sizeTile;
private int sizeMap; private final int sizeMap;
private ArrayList<Case> map; private final ArrayList<Case> map;
private int coordStartX;
private int coordStartY;
public Map(int sizeTile, int sizeMap) { public Map(int sizeTile, int sizeMap) {
this.sizeTile = sizeTile; this.sizeTile = sizeTile;
this.sizeMap = sizeMap; this.sizeMap = sizeMap;
this.map = new ArrayList<Case>(); this.map = new ArrayList<Case>();
this.coordStartX = getCoordStartX();
this.coordStartY = getCoordStartY();
} }
public void addCase(Case c) { public void addCase(Case c) {
this.map.add(c); this.map.add(c);
if(c.isStart){
setCoordStartX(c.coordX);
setCoordStartY(c.coordY);
}
} }
public void removeCase(Case c) { public void removeCase(Case c) {
this.map.remove(c); this.map.remove(c);
@ -29,20 +37,16 @@ public class Map {
return this.sizeMap; return this.sizeMap;
} }
public int getCoordStartX(){ public int getCoordStartX(){
for(Case c : this.map){ return coordStartX;
if(c.isStart){ }
return c.getCoordX(); public void setCoordStartX(int x){
} this.coordStartX = x;
}
return 666; //code erreur
} }
public int getCoordStartY(){ public int getCoordStartY(){
for(Case c : this.map){ return coordStartY;
if(c.isStart){ }
return c.getCoordY(); public void setCoordStartY(int y){
} this.coordStartY = y;
}
return 666; //code erreur
} }
public Case getNextCase(Case c){ public Case getNextCase(Case c){
@ -61,6 +65,7 @@ public class Map {
public Case getStartCase(){ public Case getStartCase(){
for(Case c : this.map){ for(Case c : this.map){
if(c.isStart){ if(c.isStart){
System.out.println(c);
return c; return c;
} }
} }

Loading…
Cancel
Save