|
|
|
@ -8,6 +8,8 @@ import javafx.scene.layout.GridPane;
|
|
|
|
|
import model.Case;
|
|
|
|
|
import model.Map;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
public class MapController implements Initializable {
|
|
|
|
|
|
|
|
|
|
private final Map map = new Map(32,30);
|
|
|
|
@ -36,77 +38,36 @@ public class MapController implements Initializable {
|
|
|
|
|
private final Image w = new Image("/image/terrain/chemin.png");
|
|
|
|
|
private final Image x = new Image("/image/terrain/multiarbre1.png");
|
|
|
|
|
private final Image y = new Image("/image/terrain/multiarbre2.png");
|
|
|
|
|
private final Image z = new Image("/image/terrain/star.png");
|
|
|
|
|
private Case case1;
|
|
|
|
|
private final Image z = new Image("/image/terrain/pierre.png");
|
|
|
|
|
private final 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},{5,12},{4,12},{3,12},{3,11},{3,10},{3,9},{3,8},{3,7},{3,6},{3,5},{3,4},{3,3},{4,3},{5,3},{6,3},{7,3},{8,3},{9,3},{10,3},{11,3},{12,3},{13,3},{14,3},{15,3},{16,3},{17,3},{18,3},{19,3},{19,4},{19,5},{19,6},{19,7},{19,8},{19,9},{19,10},{20,10},{21,10},{22,10},{23,10},{24,10},{24,11},{24,12},{24,13},{24,14},{24,15},{24,16},{24,17},{24,18},{24,19},{24,20},{24,21},{24,22},{24,23},{24,24},{25,24},{26,24},{27,24},{28,24},{29,24}};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void initialize(java.net.URL location, java.util.ResourceBundle resources) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void createMap(int difficulty) {
|
|
|
|
|
|
|
|
|
|
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},{5,12},{4,12},{3,12},{3,11},{3,10},{3,9},{3,8},{3,7},{3,6},{3,5},{3,4},{3,3},{4,3},{5,3},{6,3},{7,3},{8,3},{9,3},{10,3},{11,3},{12,3},{13,3},{14,3},{15,3},{16,3},{17,3},{18,3},{19,3},{19,4},{19,5},{19,6},{19,7},{19,8},{19,9},{19,10},{20,10},{21,10},{22,10},{23,10},{24,10},{24,11},{24,12},{24,13},{24,14},{24,15},{24,16},{24,17},{24,18},{24,19},{24,20},{24,21},{24,22},{24,23},{24,24},{25,24},{26,24},{27,24},{28,24},{29,24}};
|
|
|
|
|
//int[][] coordFirstDifficultyMap = {{0,24},{1,24},{2,24},{3,24},{4,24},{5,24},{5,23},{5,22},{5,21},{5,20}};
|
|
|
|
|
if (difficulty == 1) {
|
|
|
|
|
int j = 1;
|
|
|
|
|
int j = 1, k;
|
|
|
|
|
for(int[] i : coordFirstDifficultyMap){
|
|
|
|
|
boolean bool = j == 1;
|
|
|
|
|
System.out.println("Taille case :" +coordFirstDifficultyMap.length);
|
|
|
|
|
if(j == coordFirstDifficultyMap.length){
|
|
|
|
|
case1 = new Case(j, i[0], i [1], bool, true, map);
|
|
|
|
|
}else{
|
|
|
|
|
case1 = new Case(j, i[0], i [1], bool, false, map);
|
|
|
|
|
}
|
|
|
|
|
boolean boolStart = j == 1;
|
|
|
|
|
boolean boolEnd = j == coordFirstDifficultyMap.length;
|
|
|
|
|
boolean bonus = false, malus = false;
|
|
|
|
|
|
|
|
|
|
if(difficulty == 1) k = (int) (Math.random() * 10);
|
|
|
|
|
else if(difficulty == 2) k = (int) (Math.random() * 8);
|
|
|
|
|
else k = (int) (Math.random() * 6);
|
|
|
|
|
|
|
|
|
|
if(k == 1 || k == 2) bonus = true;
|
|
|
|
|
else if(k == 3) malus = true;
|
|
|
|
|
|
|
|
|
|
System.out.println("X : " + i[0] + " Y : " + i[1] + " Start : " + boolStart + " End : " + boolEnd + " Bonus : " + bonus + " Malus : " + malus);
|
|
|
|
|
Case case1 = new Case(j, i[0], i [1], boolStart, bonus, malus, boolEnd, map);
|
|
|
|
|
map.addCase(case1);
|
|
|
|
|
j++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (difficulty == 2) {
|
|
|
|
|
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);
|
|
|
|
|
Case case4 = new Case(4,5,2, false, false,map);
|
|
|
|
|
Case case5 = new Case(5,5,3, false, false,map);
|
|
|
|
|
Case case6 = new Case(6,5,4, false, false,map);
|
|
|
|
|
Case case7 = new Case(7,5,5, false, false,map);
|
|
|
|
|
Case case8 = new Case(8,5,6, false, false,map);
|
|
|
|
|
Case case9 = new Case(9,5,7, false, false,map);
|
|
|
|
|
Case case10 = new Case(10,5,8, false, false,map);
|
|
|
|
|
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 == 3) {
|
|
|
|
|
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);
|
|
|
|
|
Case case4 = new Case(4,5,2, false, false,map);
|
|
|
|
|
Case case5 = new Case(5,5,3, false, false,map);
|
|
|
|
|
Case case6 = new Case(6,5,4, false, false,map);
|
|
|
|
|
Case case7 = new Case(7,5,5, false, false,map);
|
|
|
|
|
Case case8 = new Case(8,5,6, false, false,map);
|
|
|
|
|
Case case9 = new Case(9,5,7, false, false,map);
|
|
|
|
|
Case case10 = new Case(10,5,8, false, false,map);
|
|
|
|
|
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 != 1 && difficulty != 2 && difficulty != 3) {
|
|
|
|
|
System.out.println("Difficulty not found");
|
|
|
|
|
}
|
|
|
|
@ -209,6 +170,22 @@ public class MapController implements Initializable {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
createMap(difficulty);
|
|
|
|
|
ArrayList<Case> array = map.getMap();
|
|
|
|
|
|
|
|
|
|
for (int y = 0 ; y < grid.length ; y++) {
|
|
|
|
|
for (int x = 0 ; x < grid[y].length ; x++) {
|
|
|
|
|
if(grid[y][x] != b) continue;
|
|
|
|
|
for(Case c : array) {
|
|
|
|
|
if (c.getCoordY() == y && c.getCoordX() == x && (c.isBonus() || c.isMalus())) {
|
|
|
|
|
ImageView imageView = new ImageView(z);
|
|
|
|
|
imageView.setFitWidth(tileSize);
|
|
|
|
|
imageView.setFitHeight(tileSize);
|
|
|
|
|
gridPane.add(imageView, x, y);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AnchorPane FirstAnchor = new AnchorPane();
|
|
|
|
|
FirstAnchor.getChildren().addAll(gridPane);
|
|
|
|
|
return FirstAnchor;
|
|
|
|
@ -342,4 +319,8 @@ public class MapController implements Initializable {
|
|
|
|
|
public Case getStartCase(){
|
|
|
|
|
return map.getStartCase();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Case getCase(Case c, int num){
|
|
|
|
|
return map.getCase(c, num);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|