ZartaX0O3 3 years ago
parent f995e34e89
commit 32f56ed404

@ -12,7 +12,7 @@
<?import javafx.scene.text.Font?> <?import javafx.scene.text.Font?>
<?import javafx.scene.control.Button?> <?import javafx.scene.control.Button?>
<AnchorPane fx:id="levelRoot" 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="600.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="300.0" minWidth="300.0" prefHeight="608.0" prefWidth="348.0" layoutX="600.0">
<children> <children>

@ -30,7 +30,7 @@ public class GameConfigMenuController implements Initializable {
@FXML private ImageView ImageChange; @FXML private ImageView ImageChange;
@FXML private ToggleGroup group; @FXML private ToggleGroup group;
private int personnage; private String personnage;
private int difficulty; private int difficulty;
@Override @Override
@ -43,17 +43,17 @@ public class GameConfigMenuController implements Initializable {
@FXML @FXML
void changeSkin1(ActionEvent event){ void changeSkin1(ActionEvent event){
ImageChange.setImage(new Image("/image/personnage/Perso1.png")); ImageChange.setImage(new Image("/image/personnage/Perso1.png"));
this.personnage = 1; this.personnage = "1";
} }
@FXML @FXML
void changeSkin2(ActionEvent event){ void changeSkin2(ActionEvent event){
ImageChange.setImage(new Image("/image/personnage/Perso2.png")); ImageChange.setImage(new Image("/image/personnage/Perso2.png"));
this.personnage = 2; this.personnage = "2";
} }
@FXML @FXML
void changeSkin3(ActionEvent event){ void changeSkin3(ActionEvent event){
ImageChange.setImage(new Image("/image/personnage/Perso3.png")); ImageChange.setImage(new Image("/image/personnage/Perso3.png"));
this.personnage = 3; this.personnage = "3";
} }
@FXML @FXML
@ -72,9 +72,9 @@ 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"))); AnchorPane pane = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/viewGame.fxml")));
GamePlayController gm = new GamePlayController(); pane.setId(personnage);
AnchorPane gp = gm.mapInitialisation(this.difficulty, this.personnage); levelRoot.getChildren().setAll(pane);
levelRoot.getChildren().addAll(gp, pane); System.out.println(levelRoot.getChildren());
} }
@FXML @FXML

@ -24,53 +24,48 @@ public class GamePlayController implements Initializable {
private final int tileSize = 20 ; private final int tileSize = 20 ;
public ImageView persoImageView; @FXML public ImageView persoImageView;
@FXML public AnchorPane levelRoot; @FXML public AnchorPane levelRoot;
PageGameController pageGameController;
private final Image w = new Image("/image/terrain/chemin.png"); private final Image w = new Image("/image/terrain/chemin.png");
private final Image b = new Image("/image/terrain/herbe.png"); private final Image b = new Image("/image/terrain/herbe.png");
private final Image a = new Image("/image/terrain/arbre1h.png"); private final Image a = new Image("/image/terrain/arbre1h.png");
private final Image c = new Image("/image/terrain/arbre1b.png"); private final Image c = new Image("/image/terrain/arbre1b.png");
private final PersoController persoController = new PersoController(); PersoController persoController = new PersoController();
Case caseActuelle; Case caseActuelle;
MapController mapController; MapController mapController = new MapController();
Case caseAncienne; Case caseAncienne;
String pathPerso; String pathPerso;
Image imagePerso;
@FXML @FXML
@Override @Override
public void initialize(URL url, ResourceBundle resourceBundle) { 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 { 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; caseAncienne = caseActuelle;
System.out.println(caseActuelle);
caseActuelle = mapController.getNextCase(caseActuelle); caseActuelle = mapController.getNextCase(caseActuelle);
Timeline timeline = new Timeline(); Timeline timeline = new Timeline();
timeline.setCycleCount(1); timeline.setCycleCount(1);
@ -239,233 +234,6 @@ public class GamePlayController implements Initializable {
System.out.println("lancer de"); 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) { private Image createImage(Color color) {
WritableImage image = new WritableImage(1, 1); WritableImage image = new WritableImage(1, 1);
image.getPixelWriter().setColor(0, 0, color); image.getPixelWriter().setColor(0, 0, color);

@ -1,12 +1,22 @@
package controller; package controller;
import javafx.fxml.Initializable; 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.Case;
import model.Map; import model.Map;
import java.io.IOException;
public class MapController implements Initializable { 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 @Override
public void initialize(java.net.URL location, java.util.ResourceBundle resources) { 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) { public void createMap(int difficulty) {
System.out.println(difficulty);
if (difficulty == 1) { if (difficulty == 1) {
this.map = new Map(32,30);
Case case1 = new Case(1,2,2, true, false,map); Case case1 = new Case(1,2,2, true, false,map);
Case case2 = new Case(2,3,2, false, false,map); Case case2 = new Case(2,3,2, false, false,map);
Case case3 = new Case(3,4,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); map.addCase(case10);
} }
if (difficulty == 2) { if (difficulty == 2) {
map = new Map(32,30);
Case case1 = new Case(1,2,2, true, false,map); Case case1 = new Case(1,2,2, true, false,map);
Case case2 = new Case(2,3,2, false, false,map); Case case2 = new Case(2,3,2, false, false,map);
Case case3 = new Case(3,4,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); map.addCase(case10);
} }
if (difficulty == 3) { if (difficulty == 3) {
map = new Map(32,30);
Case case1 = new Case(1,2,2, true, false,map); Case case1 = new Case(1,2,2, true, false,map);
Case case2 = new Case(2,3,2, false, false,map); Case case2 = new Case(2,3,2, false, false,map);
Case case3 = new Case(3,4,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"); 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(){ public Map getMap(){
return this.map; return this.map;
} }
public Case getCaseStart(){ public Case getCaseStart(){
return map.getStartCase(); return map.getStartCase();
} }
public Case getNextCase(Case c){ public Case getNextCase(Case c){
return map.getNextCase(c); return map.getNextCase(c);
} }
public Case getStartCase(){ public Case getStartCase(){
return map.getStartCase(); return map.getStartCase();
} }

@ -36,199 +36,12 @@ public class PageGameController implements Initializable {
String pathPerso; String pathPerso;
Image imagePerso; 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 @Override
public void initialize(URL url, ResourceBundle resourceBundle) { public void initialize(URL url, ResourceBundle resourceBundle) {
} }
public void lancerDe(ActionEvent actionEvent) throws InterruptedException { public void lancerDe(ActionEvent actionEvent) throws InterruptedException {
movePlayerNextCase();
System.out.println("lancer de"); System.out.println("lancer de");
} }
} }

@ -1,55 +1,51 @@
package controller; 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.Avatar;
import model.Map; import model.Case;
public class PersoController { public class PersoController {
Avatar avatar; @FXML
MapController mc; public ImageView persoImageView;
private int test = 2;
private Map map; private Avatar avatar;
private Case actualCase;
public void createPerso(int difficulty, int perso) { private Case oldCase;
mc = new MapController();
mc.createMap(difficulty); public void createAvatar(int difficulty, int perso) {
this.map = mc.getMap(); switch (perso) {
System.out.println(map); case 1:
test = 14; this.avatar = new Avatar(1, "image/personnage/Perso1.");
if (perso == 1) { break;
avatar = new Avatar(1, "image/personnage/Perso1."); case 2:
System.out.println("Perso 1"); this.avatar = new Avatar(2, "image/personnage/Perso2.");
} break;
if(perso == 2){ case 3:
avatar = new Avatar(2, "image/personnage/Perso2."); this.avatar = new Avatar(3, "image/personnage/Perso3.");
System.out.println("Perso 2"); break;
} default:
if(perso == 3){ System.out.println("Erreur de choix du personnage [createPerso] unknown number");
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éé");
} }
} }
public Map getMap() { public AnchorPane playerInitialisation(int difficulty, int perso) {
System.out.println(test);
return this.map; createAvatar(difficulty, perso);
}
public MapController getMapController() { String imagePath = getPath() + "2.png";
return mc; AnchorPane test = new AnchorPane();
persoImageView = new ImageView(new Image(imagePath));
persoImageView.setId("persoImageView");
test.getChildren().add(persoImageView);
return test;
} }
public String getPath(){ public String getPath(){
System.out.println(avatar.getImage());
return avatar.getImage(); return avatar.getImage();
} }
@ -61,4 +57,20 @@ public class PersoController {
public int getY(){ public int getY(){
return avatar.getCoordY(); 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;
}
} }

@ -23,7 +23,7 @@ public class Avatar {
} }
public String getImage() { public String getImage() {
return image; return this.image;
} }
public int getCoordX() { public int getCoordX() {

@ -30,7 +30,7 @@ public class Map {
} }
public int getCoordStartX(){ public int getCoordStartX(){
for(Case c : this.map){ for(Case c : this.map){
if(c.isStart == true){ if(c.isStart){
return c.getCoordX(); return c.getCoordX();
} }
} }
@ -38,12 +38,13 @@ public class Map {
} }
public int getCoordStartY(){ public int getCoordStartY(){
for(Case c : this.map){ for(Case c : this.map){
if(c.isStart == true){ if(c.isStart){
return c.getCoordY(); return c.getCoordY();
} }
} }
return 666; //code erreur return 666; //code erreur
} }
public Case getNextCase(Case c){ public Case getNextCase(Case c){
int i; int i;
int j; int j;
@ -56,9 +57,10 @@ public class Map {
} }
return c; return c;
} }
public Case getStartCase(){ public Case getStartCase(){
for(Case c : this.map){ for(Case c : this.map){
if(c.isStart == true){ if(c.isStart){
return c; return c;
} }
} }

Loading…
Cancel
Save