JeuDeRole/JDR/src/metier/Guerrier.java

128 lines
3.8 KiB
Java

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();
}
}
}