From 0c2c3ee5a55f36d270171f2f67938542e251fdc5 Mon Sep 17 00:00:00 2001 From: polo Date: Thu, 2 Jul 2026 00:14:17 +0200 Subject: fork utilisant maven --- src/main/java/controlleur/ControlleurSimu.java | 218 +++++++++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 src/main/java/controlleur/ControlleurSimu.java (limited to 'src/main/java/controlleur/ControlleurSimu.java') diff --git a/src/main/java/controlleur/ControlleurSimu.java b/src/main/java/controlleur/ControlleurSimu.java new file mode 100644 index 0000000..a349036 --- /dev/null +++ b/src/main/java/controlleur/ControlleurSimu.java @@ -0,0 +1,218 @@ +package controlleur; + +import java.util.ArrayList; +import java.util.HashMap; +import application.Battle; +import javafx.scene.control.Button; +import javafx.scene.control.ChoiceBox; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import javafx.scene.layout.FlowPane; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; +import modele.Aptitude; +import modele.Arme; +import modele.ArmeeListe; +import modele.Calcul; +import modele.Figurine; +import modele.Unit; +import vue.simulation.AfficheSimulation; +import vue.simulation.SimAptAndWeaponsVBox; +import vue.simulation.SimFigurinesVBox; +import vue.simulation.SimHistogramme; +import vue.simulation.SimUnitsVBox; + +public class ControlleurSimu +{ + // déroulement des unités d'une liste (appui sur lists_drop_down.get(i) dans AfficheSimulation) + public static void selectAList(int num_list, ArrayList lists, String choice) + { + // choix de la liste + for(ArmeeListe one_list : lists) + { + if(one_list.getName().equals(choice)) { + // "copie profonde" d'une liste + ArmeeListe list = new ArmeeListe(one_list.getName(), one_list.getDescription(), one_list.getData()); + Battle.setSelectedList(num_list, list); + break; // choix unique + } + } + + // obtenir les unités, l'armée, les figurines, armes et aptitudes + Instanciation.getUnitsOfAList(Battle.getSelectedList(num_list)); + + Battle.setArmy(num_list, Battle.getSelectedList(num_list).getUnits().get(0).getArmee()); + + } + + // déroulement des figurines d'une unité (appui sur buttons.get(i) dans SimUnitsVBox) + public static void PullDownUnits(int num_list, HBox dropdown_menu_box, SimUnitsVBox list_box) { + ArmeeListe list = Battle.getSelectedList(num_list); + + // noms des unités + String[] unit_names = new String[list.getUnits().size()]; + for(int i = 0; i < list.getUnits().size(); i++) { + unit_names[i] = list.getUnits().get(i).getName(); + } + + // supprimer l'ancien logo + if(dropdown_menu_box.getChildren().size() == 2){ + dropdown_menu_box.getChildren().remove(1); + } + + // logo de faction + Image logo_faction = null; + if(Battle.getArmy(num_list) != null) // possibilité d'une liste vide + { + String file_name = Battle.getArmy(num_list).getLogo(); + logo_faction = new Image("/images/armees/" + file_name); + } + ImageView logo_box = new ImageView(); + + logo_box.setPreserveRatio(true); + logo_box.fitHeightProperty().bind(dropdown_menu_box.heightProperty()); + logo_box.setImage(logo_faction); + dropdown_menu_box.getChildren().add(logo_box); + + // effacer la zone armes et aptitudes + AfficheSimulation.getWeaponsAtitudesMenu().setStyle("-fx-border-width: 0;"); + AfficheSimulation.getWeaponsAtitudesMenu().getChildren().clear(); + + // effacer et recréer les unités + list_box.getButtons().clear(); + list_box.getFigBoxes().clear(); + list_box.getChildren().clear(); + list_box.setList(num_list); + } + + // déroulement des figurines d'une unité (appui sur buttons.get(i) dans SimUnitsVBox) + public static void selectAnUnit(SimUnitsVBox lists, int col, int j) + { + ArrayList