package metier; import java.util.Objects; import javax.swing.Icon; import javax.swing.JOptionPane; /** * Classe Guerrier, hérite de la classe Personnage * @author Dominique_2 * @version 20170115 */ public class Guerrier extends Personnage{ // Variable membre private String arme; /** * Valorisation des variables membres * @param nom nom du guerrier * @param img nom de l'image représentant le guerrier * @param energie valeur énergétique du guerrier * @param dureeVie durée de vie du guerrier * @param arme armu du guerrier */ public Guerrier(String nom, String img, int energie, int dureeVie, String arme) { super(nom, img, energie, dureeVie); this.arme = arme; } /** * Permet d'obtenir les valeurs des attributs de l'objet courant * @return liste des attributs avec leurs valeurs */ @Override public String toString() { return super.toString() + "\tArme=" + arme; } @Override public int hashCode() { int hash = 7; hash = super.hashCode() + (13 * hash + Objects.hashCode(this.arme)); return hash; } /** * Comparaison de l'objet courant avec l'objet passé en paramètre * @param obj objet à comparer avec l'objet courant * @return true : les 2 objets sont identiques, false sinon */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Guerrier other = (Guerrier) obj; if (!Objects.equals(this.arme, other.arme)) { return false; } if(!super.equals(obj)){ return false; } return true; } /** * Get the value of arme * * @return the value of arme */ public String getArme() { return arme; } /** * Set the value of arme * * @param arme new value of arme */ public void setArme(String arme) { this.arme = arme; } @Override public String saluer(Personnage unPerso){ String titre = this.getNom() + " salue " + unPerso.getNom(); String message ; /**if(unPerso instanceof Guerrier){ message = "Bonjour " + unPerso.getNom() + " Comment allez-vous ajourd'hui"; } else{ }**/ message = "Bonjour " + unPerso.getNom() + "Barre toi avant que je n'utilise mon "+ this.arme; //JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE); Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg())); JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso); return message; } @Override public String rencontrer(Personnage unPerso) { this.saluer(unPerso); //appelle de la contion saluer int pts_attaque = 0; int pts_defense = 0; do{ pts_attaque = Jeu.genererNbAleatoire(0, 10); pts_defense = Jeu.genererNbAleatoire(0, 10); }while(pts_attaque == pts_defense); if(pts_attaque > pts_defense){ unPerso.varierDureeVie(-1); unPerso.varierEnergie(-2); return "Tu as perdu, Tu es maintenant à "+unPerso.getEnergie()+ "energie et "+unPerso.getDureeVie()+ " PV !!"; }else{ // pts_defense > pts_attaque this.varierEnergie(-1); unPerso.varierEnergie(2); return "Mon energie est à "+ this.getEnergie() + "et toi qui m'a vaincu tu es à "+ unPerso.getEnergie(); } } }