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