117 lines
4.1 KiB
Java
117 lines
4.1 KiB
Java
package metier;
|
|
|
|
import java.util.Objects;
|
|
import java.util.Scanner;
|
|
import javax.swing.Icon;
|
|
import javax.swing.JOptionPane;
|
|
|
|
/**
|
|
*
|
|
* @author Dominique_2
|
|
*/
|
|
public class Sorcier extends Personnage {
|
|
|
|
private String baguette;
|
|
private String enigme;
|
|
Enigme[] enigmes1 = {
|
|
new Enigme("Qu?est ce qui est plus grand que la Tour Eiffel, mais infiniment moins lourd ?","ombre"),
|
|
new Enigme("Girafe = 3, Éléphant = 3, Hippopotame = 5, Lion = ? ?","2"),
|
|
new Enigme("Qu'est-ce qui commence la nuit et termine le matin ?","n"),
|
|
new Enigme("Qu'est-ce qui fait le tour de la maison sans bouger ?","mur")
|
|
};
|
|
|
|
Enigme[] enigmes2 = {
|
|
new Enigme("Considérez la suite de chiffre suivante : 0 1 1 2 3 5 8 Quel chiffre suit le 8 ?","13"),
|
|
new Enigme("Prenez une pizza et placez-la devant vous. En combien de morceaux maximum pouvez-vous la couper en effectuant seulement six coups de couteau ?","16"),
|
|
new Enigme("C'est le jour de la paie. La poule reçoit 7 euros. L'abeille reçoit 21 euros. L'araignée reçoit 28 euros. Combien reçoit le chien ?","14"),
|
|
new Enigme("Un escargot est au fond d'un puits de 10 mètres. Chaque matin il monte de 3 mètres et chaque nuit il descend de 2 mètres. Combien de jours lui faudra-t-il pour sortir de ce puits ?","7")
|
|
};
|
|
|
|
public Sorcier(String nom, String img, int energie, int dureeVie, String baguette) {
|
|
super(nom, img, energie, dureeVie);
|
|
this.baguette = baguette;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int hash = 7;
|
|
hash = super.hashCode() + (73 * hash + Objects.hashCode(this.baguette));
|
|
return hash;
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
if (this == obj) {
|
|
return true;
|
|
}
|
|
if (obj == null) {
|
|
return false;
|
|
}
|
|
if (getClass() != obj.getClass()) {
|
|
return false;
|
|
}
|
|
final Sorcier other = (Sorcier) obj;
|
|
if (!Objects.equals(this.baguette, other.baguette)) {
|
|
return false;
|
|
}
|
|
if (!super.equals(obj)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return super.toString() + "\tBaguette=" + baguette + "\nNb Enigmes";
|
|
}
|
|
|
|
/**
|
|
* Get the value of baguette
|
|
*
|
|
* @return the value of baguette
|
|
*/
|
|
public String getBaguette() {
|
|
return baguette;
|
|
}
|
|
|
|
/**
|
|
* Set the value of baguette
|
|
*
|
|
* @param baguette new value of baguette
|
|
*/
|
|
public void setBaguette(String baguette) {
|
|
this.baguette = baguette;
|
|
}
|
|
|
|
@Override
|
|
public String saluer(Personnage unPerso){
|
|
String titre = this.getNom() + " salue " + unPerso.getNom();
|
|
String message ;
|
|
message = "Bonjour " + unPerso.getNom() + " Tu es sous ma dépendance ";
|
|
//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){
|
|
Scanner LectureClavier =new Scanner(System.in);
|
|
String titre = this.getNom() + " rencontre " + unPerso.getNom();
|
|
String message = "Je vais te détruire";
|
|
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);
|
|
Enigme enigm = enigmes1[(int)(Math.random() * 3)];
|
|
System.out.println(enigm.Question());
|
|
String reponse = LectureClavier.nextLine();
|
|
if (reponse.equals(enigm.Reponse())){
|
|
unPerso.varierDureeVie(1);
|
|
}
|
|
else{
|
|
unPerso.varierDureeVie(-2);
|
|
}
|
|
return message;
|
|
}
|
|
}
|