/* * programme: Secret.java * auteur: IFT1010 felipe * objet: montrer un point particulier du compilateur * java avec les methodes: votre compilateur * vous evite des erreurs classiques * comment: oubliez les static indispensables ici * nous verrons cela bientot */ public class Secret { /* * champs de donnees accessibles dans toute la classe */ private static int codeSecret; private static final int MAX_ESSAI = 10; /* * une methode qui verifie si l'argument specifie est * le code secret entre 1 et 100 que la machine a choisi * retourne true si la valeur proposee (val) est le code * secret, false sinon * QUIZ: que se passe-t-il si vous compilez cette classe ? * pourquoi ? * Note: cette methode est en pratique completement inutile * et ne sert qu'a illustrer le QUIZ */ private static boolean devine(int val) { if (val == codeSecret) { System.out.println("Bravo ! ==> " + val); return true; } else { System.out.println("Rate ! " + val); } } // methode1 /* * la methode main */ public static void main(String [] args) { // choix d'un code secret entre 1 et 100 codeSecret = ((int)(Math.random() * 100)) + 1; boolean encore = true; int essai; // on joue (automatiquement) au plus MAX_ESSAI fois for (essai=1; encore && (essai <= MAX_ESSAI); essai++) if (devine(((int)(Math.random() * 100)) + 1)) encore = false; // pourquoi sommes-nous sortis de la boucle ? if (essai > MAX_ESSAI) System.out.println("Vous avez perdu le code etait:" + codeSecret); else System.out.println("Vous avez gagne en " + (--essai) + " coup" + ((essai == 1)? "":"s")); /* * NOTE: cette derniere ligne (avec --) n'est pas tres jolie * il est preferable de decrementer essai avant * QUIZ: pourquoi decrementer essai ? */ } // main }