/**
  * Voir les informations des personnages sur les bandeaux des joueurs
  *
  * @param positionCaseSelectionné position de la case selectionné
  */
 public void voirInfoPersonnage(int[] positionCaseSelectionné) {
   Personnage p = plateau.caseGetPersonnage(positionCaseSelectionné);
   if (p != null) {
     if (joueur1.possedePersonnage(p)) ihmjeu.getBandeau1().getInfo().miseAJour(p);
     else if (joueur2.possedePersonnage(p)) ihmjeu.getBandeau2().getInfo().miseAJour(p);
   }
 }
  /**
   * Utilise l'action du personnage selectionné
   *
   * @param p personnage selectionné
   * @param idActionSelectionné action selectionné
   * @param positionCaseSelectionné position de la case où l'on veut lancer l'attaque
   */
  public void personnageAction(
      Personnage p, int idActionSelectionné, int[] positionCaseSelectionné) {
    Class<?> c = p.getAction(idActionSelectionné);
    typePortee tp;
    try {
      Constructor<?> constructeur = c.getConstructor(new Class[] {Personnage.class, Jeu.class});
      tp = (typePortee) c.getMethod("getTypePortee").invoke(c);
      if (tp == typePortee.CIBLE) {
        for (int[] tc : this.VoisinageCaseZoneCible(positionCaseSelectionné)) {
          if (plateau.caseGetPersonnage(tc) != null)
            constructeur.newInstance(new Object[] {plateau.caseGetPersonnage(tc), this});
        }
      } else if (plateau.caseGetPersonnage(positionCaseSelectionné) != null) {
        constructeur.newInstance(
            new Object[] {plateau.caseGetPersonnage(positionCaseSelectionné), this});
      }

    } catch (Exception e) {
    }
  }
 /**
  * Retourne le personnage présent sur cette case
  *
  * @param positionCaseSelectionné position de la case du personnage à recuperer
  * @return le personnage de cette case
  */
 public Personnage caseGetPersonnage(int[] positionCaseSelectionné) {
   return plateau.caseGetPersonnage(positionCaseSelectionné);
 }