예제 #1
0
 /**
  * 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());
   }
 }
예제 #2
0
 /** 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);
     }
   }
 }
예제 #3
0
 /** 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");
   }
 }
예제 #4
0
 /** 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);
     }
   }
 }
예제 #5
0
 /** 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);
 }
예제 #6
0
 /** 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");
   }
 }
예제 #7
0
 /** 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");
   }
 }
예제 #8
0
 /** 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);
   }
 }
예제 #9
0
 /**
  * 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);
 }