203 lines
5.6 KiB
Java
203 lines
5.6 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;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
public String saluer(Personnage unPerso){
|
|
String titre = this.getNom() + " salue " + unPerso.getNom();
|
|
String message = "Bonjour " + unPerso.getNom() + " Comment allez-vous ajourd'hui";
|
|
//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;
|
|
}
|
|
|
|
/**
|
|
* Cette fonction permet de faire varier l'energie de l'objet émetteur
|
|
* @param nb l'énergie à faire varier de this.energie
|
|
*/
|
|
public void varierEnergie(int nb){
|
|
if ( (this.energie+ nb) >= 0){
|
|
this.energie += nb;
|
|
}
|
|
else{
|
|
JOptionPane.showMessageDialog(null,"Il m'est impossible d'avoir une énergie négative.\n Je dois revenir plus fort","Pouvoir insuffisant !", JOptionPane.INFORMATION_MESSAGE);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Cette fonction permet de faire varier la vie de l'objet émetteur
|
|
* @param nb l'énergie à faire varier de this.dureeVie
|
|
*/
|
|
public void varierDureeVie(int nb){
|
|
if ( (this.dureeVie+ nb) >= 0){
|
|
this.dureeVie += nb;
|
|
}
|
|
else{
|
|
JOptionPane.showMessageDialog(null,"Je me meurt\n Adieu monde cruel","Mortalité !", JOptionPane.INFORMATION_MESSAGE);
|
|
}
|
|
}
|
|
}
|