/** * Routine graphique permettant de ne plus voir les cases où l'on peut effectuer l'action * * @param idActionSelectionné action à effectuer */ public void IhmFinVoirCasePossibleAction(int idActionSelectionné) { for (int[] pos : this.VoisinageCaseAction(idActionSelectionné)) { if (this.getCase(pos).estVide()) ihmjeu.getGuiCase(pos).setBackground(Color.WHITE); else if (this.comparepositionCaseSelectionné(personnageSelectionné.getPosition(), pos)) ihmjeu.getGuiCase(pos).setBackground(Color.YELLOW); else if (this.joueur1.possedePersonnage(this.getCase(pos).getPersonnage())) ihmjeu.getGuiCase(pos).setBackground(this.joueur1.getColor()); else if (this.joueur2.possedePersonnage(this.getCase(pos).getPersonnage())) ihmjeu.getGuiCase(pos).setBackground(this.joueur2.getColor()); } }
/** Routine graphique pour voir les cases où l'on peut se placer le personnage selectionné */ public void IhmVoirCasePossiblePlacement() { for (int i = 0; i < TaillePlateauX; i++) { for (int j = 0; j < TaillePlateauY; j++) { int[] positionCaseSelectionné = {i, j}; if (getJoueurCourant() == joueur1 && plateau.caseEstVide(positionCaseSelectionné) && i < TaillePlateauX / 2) ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.GREEN); else if (getJoueurCourant() == joueur2 && plateau.caseEstVide(positionCaseSelectionné) && i >= (TaillePlateauX - TaillePlateauX / 2)) ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.GREEN); } } }
/** Routine graphique de la désélection d'un personnage */ public void IhmDeselectionPersonnage() { if ((!isDéplacé() && !isAction() && isPlacé()) && personnageSelectionné == caseGetPersonnage(positionCaseSelectionné)) { ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(getJoueurCourant().getColor()); this.setPhase(Phase.SELECTION_PERSONNAGE); ihmjeu.getCommande2().boutonDesactive(); ihmjeu.afficherTerminal("Selectionner un Personnage"); } }
/** Lie les cases avec les IHMCase (case graphique JButton) */ public void lierCaseInterface() { for (int i = 0; i < TaillePlateauX; i++) { for (int j = 0; j < TaillePlateauY; j++) { int[] positionCaseSelectionné = {i, j}; Case c = plateau.getCase(positionCaseSelectionné); IHMCase ie = ihmjeu.getGuiCase(positionCaseSelectionné); c.addObserver(ie); } } }
/** Routine graphique de la fin du Tour */ public void IhmFinTour() { ihmjeu .getGuiCase(personnageSelectionné.getPosition()) .setBackground(getJoueurCourant().getColor()); this.finTour(); ihmjeu.getCommande2().setVisible(false); ihmjeu.remove(ihmjeu.getCommande2()); ihmjeu.setCommande2(new IHMCommandeVue2(ihmjeu, this)); ihmjeu.getContentPane().add(ihmjeu.getCommande2(), BorderLayout.SOUTH); ihmjeu.afficherTerminal("Selectionner un Personnage"); this.setPhase(Phase.SELECTION_PERSONNAGE); }
/** Routine graphique pour la selection des personnages */ public void IhmSelectionPersonnage() { try { personnageSelectionné = this.choisirPersonnage(positionCaseSelectionné); ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.YELLOW); this.setPhase(Phase.NORMAL); ihmjeu.getCommande2().boutonActive(); ihmjeu.afficherTerminal("Selectionner une Commande"); } catch (CaseVide e) { ihmjeu.afficherTerminal("Erreur, la case selectionné est vide. Selectionner un Personnage"); } catch (PersonnageAdverse e) { ihmjeu.afficherTerminal( "Erreur, la personnage selectionné n'est pas le votre. Selectionner un Personnage"); } }
/** Routine graphique du deplacement d'un personnage */ public void IhmDeplacementPersonnage() { try { if (this.verifierCaseDeplacement(personnageSelectionné, positionCaseSelectionné)) { this.IhmFinVoirCasePossibleDeplacement(); this.deplacerPersonnage(personnageSelectionné, positionCaseSelectionné); ihmjeu.getCommande2().deplacementFinie(); } ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.YELLOW); ihmjeu.afficherTerminal("Selectionner une Commande"); this.setPhase(Phase.NORMAL); } catch (DeplacementImpossible e) { ihmjeu.afficherTerminal( "Vos points de mouvements ne permettent pas de se deplacer sur cette case"); } }
/** Routine graphique pour voir les cases où l'on peut se déplacer le personnage selectionné */ public void IhmVoirCasePossibleDeplacement() { for (int[] pos : this.VoisinageCaseDeplacement(personnageSelectionné)) { ihmjeu.getGuiCase(pos).setBackground(Color.GREEN); } }
/** * Routine graphique permettant de voir les cases où l'on peut effectuer l'action * * @param idActionSelectionné action à effectuer */ public void IhmVoirCasePossibleAction(int idActionSelectionné) { for (int[] pos : this.VoisinageCaseAction(idActionSelectionné)) ihmjeu.getGuiCase(pos).setBackground(Color.RED); }