Пример #1
0
  /**
   * 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) {
    }
  }