228 lines
6.0 KiB
Java
228 lines
6.0 KiB
Java
package metier;
|
||
import java.util.Objects;
|
||
import javax.swing.Icon;
|
||
import javax.swing.JOptionPane;
|
||
|
||
/**
|
||
* Classe Mère Personnage
|
||
* @author Dominique_2
|
||
* @version 20170215
|
||
*/
|
||
public class Personnage {
|
||
// Variables membres
|
||
private String nom;
|
||
private String img;
|
||
private int energie;
|
||
private int dureeVie;
|
||
/**
|
||
* Valorisation des variables membres
|
||
* @param nom nom du personnage
|
||
* @param img nom de l'image du personnage
|
||
* @param energie valeur énergétique
|
||
* @param dureeVie durée de vie, en année
|
||
*/
|
||
public Personnage(String nom, String img, int energie, int dureeVie) {
|
||
this.nom = nom;
|
||
this.img = img;
|
||
this.energie = energie;
|
||
this.dureeVie = dureeVie;
|
||
}
|
||
|
||
public Personnage() {
|
||
// throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
|
||
}
|
||
/**
|
||
* Permet d'obtenir les valeurs des attributs de l'objet courant
|
||
* @return liste des attributs avec leurs valeurs
|
||
*/
|
||
@Override
|
||
public String toString() {
|
||
return "Nom\t" + nom + "\nEnergie\t" + energie + "\nDuree de vie\t" + dureeVie
|
||
+ "\n"+this.getClass().getSimpleName();
|
||
}
|
||
|
||
@Override
|
||
public int hashCode() {
|
||
int hash = 3;
|
||
hash = 47 * hash + Objects.hashCode(this.nom);
|
||
hash = 47 * hash + Objects.hashCode(this.img);
|
||
hash = 47 * hash + this.energie;
|
||
hash = 47 * hash + this.dureeVie;
|
||
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 Personnage other = (Personnage) obj;
|
||
if (this.energie != other.energie) {
|
||
return false;
|
||
}
|
||
if (this.dureeVie != other.dureeVie) {
|
||
return false;
|
||
}
|
||
if (!Objects.equals(this.nom, other.nom)) {
|
||
return false;
|
||
}
|
||
if (!Objects.equals(this.img, other.img)) {
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/**
|
||
* Get the value of energie
|
||
*
|
||
* @return the value of energie
|
||
*/
|
||
public int getEnergie() {
|
||
return energie;
|
||
}
|
||
|
||
/**
|
||
* Set the value of energie
|
||
*
|
||
* @param energie new value of energie
|
||
*/
|
||
public void setEnergie(int energie) {
|
||
this.energie = energie;
|
||
}
|
||
|
||
/**
|
||
* Get the value of dureeVie
|
||
*
|
||
* @return the value of dureeVie
|
||
*/
|
||
public int getDureeVie() {
|
||
return dureeVie;
|
||
}
|
||
|
||
/**
|
||
* Set the value of dureeVie
|
||
*
|
||
* @param dureeVie new value of dureeVie
|
||
*/
|
||
public void setDureeVie(int dureeVie) {
|
||
this.dureeVie = dureeVie;
|
||
}
|
||
|
||
/**
|
||
* Get the value of img
|
||
*
|
||
* @return the value of img
|
||
*/
|
||
public String getImg() {
|
||
return img;
|
||
}
|
||
|
||
/**
|
||
* Set the value of img
|
||
*
|
||
* @param img new value of img
|
||
*/
|
||
public void setImg(String img) {
|
||
this.img = img;
|
||
}
|
||
|
||
|
||
/**
|
||
* Get the value of nom
|
||
*
|
||
* @return the value of nom
|
||
*/
|
||
public String getNom() {
|
||
return nom;
|
||
}
|
||
|
||
/**
|
||
* Set the value of nom
|
||
*
|
||
* @param nom new value of nom
|
||
*/
|
||
public void setNom(String nom) {
|
||
this.nom = nom;
|
||
}
|
||
|
||
/**
|
||
* R<>sume les informations sur le personnage
|
||
* @return Informations du personnage
|
||
*/
|
||
public String resumerPersonnage() {
|
||
String str = "";
|
||
str += "Nom "+this.getNom()+"\n";
|
||
str += "<EFBFBD>nergie "+this.getEnergie()+"\n";
|
||
str += "Dur<EFBFBD>e de vie "+this.getDureeVie()+"\n";
|
||
str += "Civil arme : Aucune\n";
|
||
|
||
return str;
|
||
}
|
||
|
||
|
||
/**
|
||
* Initie la rencontre avec un autre personnage
|
||
* @param unPerso un Personnage
|
||
* @return Message de rencontre
|
||
*/
|
||
public String rencontrer(Personnage unPerso) {
|
||
String titre = this.getNom() + " rencontre " + unPerso.getNom();
|
||
String message = "Bonjour " + unPerso.getNom() + " !";
|
||
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;
|
||
}
|
||
|
||
/**
|
||
* Saluer un personnage
|
||
* @param unPerso Un personnage
|
||
* @return Message de salutation
|
||
*/
|
||
public String saluer(Personnage unPerso) {
|
||
String titre = this.getNom() + " salue " + unPerso.getNom();
|
||
String message = "Salut " + unPerso.getNom() + " !";
|
||
// 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;
|
||
}
|
||
|
||
/**
|
||
* Varier l'énergie du personnage
|
||
* @param nb Nombre d'énergie à ajouter au personnage
|
||
*/
|
||
public void varierEnergie(int nb) {
|
||
int energie = this.getEnergie()+nb;
|
||
if (energie < 0) {
|
||
this.setEnergie(0);
|
||
} else {
|
||
this.setEnergie(energie);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Varier la duree vie du personnage
|
||
* @param nb Nombre de vie à ajouter au personnage
|
||
*/
|
||
public void varierDureeVie(int nb) {
|
||
int dureeVie = this.getDureeVie()+nb;
|
||
if (dureeVie < 0) {
|
||
this.setDureeVie(0);
|
||
} else {
|
||
this.setDureeVie(dureeVie);
|
||
}
|
||
}
|
||
}
|