/** * 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é); }