THÉLEPATHIE CHARLETANESQUE

Signaler
Messages postés
5360
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
-
Messages postés
37
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2006
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39549-thelepathie-charletanesque

Messages postés
37
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2006
2
Pas mal le tour, ça serait trop bête de révéler que quelque soit le nombre choisi, le résultat est un multiple de 9... ;P

Bon ok, je sors.
Messages postés
68
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
6 juillet 2007

Ok, décidement je ne sais où j'avais la tête en écrivant cela
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
"Alors la magie opére et par télépathie, on lui révele de chiffre auquel il a pensé"

Et non, c'est le symbole que tu devines, pas le nombre de départ.
Messages postés
68
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
6 juillet 2007

Si tu veux, mais c un clin d'oeil à un apprenti magicien "Charles".
Messages postés
103
Date d'inscription
lundi 9 avril 2001
Statut
Membre
Dernière intervention
16 juillet 2008

tu voulais pas plutot dire "Charlatanesque" ?
Messages postés
68
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
6 juillet 2007

Voilà, normalement c bien. C'est vraie que souvent on a tendance à oublier les autres OS.
Messages postés
5360
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
25 janvier 2021
108
Salut,

Dans la classe TelepathieFrame :

pourrais-tu changer le tableau
private final static List<String> symboles = Arrays
.asList(new String[] { "A", "C", "D", "F", "G", "H", "J", "K", "M", "P", "R", "S",
"T", "W", "X", "Z", "#", "^", "_", "[", "]", "{", "}", "§", "©", "®", "€",
"£", "¥", "æ", "Ø", "¶", "Œ", "ß"});
qui ne passe absolument pas sur les autres systèmes d'exploitation qui n'on pas le meme encodage des caractères que toi.
alternative :
private final static List<String> symboles = Arrays.asList(new String[] {
"A", "C", "D", "F", "G", "H", "J", "K", "M", "P", "R", "S",
"T", "W", "X", "Z", "#", "^", "_", "[", "]", "{", "}", "\u00a7", "\u00a9", "\u00ae", "€",
"\u00a3", "\u00a5", "\u00e6", "\u00d8", "\u00b6", "Œ", "\u00df"});

voici l'url d'un applet qui te donne la liste des codes unicode http://mindprod.com/applets/unicode.html

ensuite tu récupère tes images comme suit :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images\\parapsy2.gif"),"Télépathie"); et ce n'est pas beau dutout soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images/parapsy2.gif"),"Télépathie"); qui seras lisible aussi bien sous windows que sous linux et mac
soit tu fais :
ImageIcon imageTelepatie = new ImageIcon(Toolkit.getDefaultToolkit().getImage("images" + File.separator + "parapsy2.gif"),"Télépathie");

Puis évite les accents dans du code utilise soit l'unicode soit le HTML vu que tu es en swing (exemple new JButton("<htmL>Héhé</html>") ou encore JButton("H\u00e9h\u00e9")).

Dans la classe TelepathieMain :

tu fais :
plaf_name = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try {
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");
UIManager.setLookAndFeel(plaf_name);
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage());
}//fin catch

et c'est fanchement pas bien vu que sous linux ou mac le LAF windows n'existe pas !
pourquoi ne pas faire :
....
setLookAndFeel();
try {
JDialog.setDefaultLookAndFeelDecorated(true);
JFrame.setDefaultLookAndFeelDecorated(true);
System.setProperty("sun.awt.noerasebackground", "true");
} catch (final Exception e) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage());
}//fin catch
....

public static void setLookAndFeel() {
String laf = "";
String os = System.getProperty("os.name").toLowerCase();
if(os.startsWith("windows"))
laf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
else if(os.startsWith("mac"))
laf = "javax.swing.plaf.mac.MacLookAndFeel";
else
laf = "javax.swing.plaf.metal.MetalLookAndFeel";
try {
UIManager.setLookAndFeel(laf);
} catch (Exception e) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Erreur :" + e.getMessage(), "ERREUR", JOptionPane.ERROR_MESSAGE);
}
}
}


sinon sur le point de vue fonctionnel je ne peux pas le tester sans modifier le code ce que je ne ferais pas