frenchlover | Ca risque d'être un peu long, mais bon...
Je pense que j'ai dû tomber dans le piège du fameux "Static". Je viens de relire le post dans "passage obligé pour les débutants", et ça y ressmble .
Du coup, je peux pas utiliser hide ou dispose à la ligne 59... Snif. Est-ce rattrapable ou faut-il tout refaire ?
Code :
- import javax.swing.*;
- import java.awt.*;
- import java.io.*;
- import java.awt.event.*;
- import javax.swing.JOptionPane;
- import javax.swing.JDialog;
- import java.util.Arrays;
- import java.awt.Window;
- public class Pendu extends JFrame {
- JButton btnOk=null;
- JButton btnNon=null;
- Container conteneur=null;
- JLabel lblSaisie = new JLabel();
- public Pendu(String mot) {
- final String motus=mot;
- int tailleMot=mot.length();
- lblSaisie.setText("Le mot à trouver fait "+tailleMot+" lettres et vous avez 10 tentatives." );
- lblSaisie.setBounds(new Rectangle(50, 20, 400, 21));
- this.setTitle("Bonjour !!!" );
- this.setSize(new Dimension(420,150));
- this.setLocationRelativeTo(this.getParent());
- WindowAdapter win=new WindowAdapter(){
- public void windowClosing(WindowEvent e){System.exit(0);}
- };
- this.addWindowListener(win);
- conteneur=this.getContentPane();
- conteneur.setLayout(null);
- btnOk=new JButton();
- btnOk.setText("Jouer" );
- btnOk.setBounds(110,60,80,20);
- btnOk.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent evt){
- btnOk_clic(evt, motus);
- }
- }
- );
- btnNon=new JButton();
- btnNon.setText("Arreter" );
- btnNon.setBounds(240,60,80,20);
- btnNon.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent evt){
- btnNon_clic(evt);
- }
- }
- );
- conteneur.add(btnOk);
- conteneur.add(lblSaisie, null);
- conteneur.add(btnNon);
- }
- public void btnOk_clic(ActionEvent evt,String motus){
- Pendu.dispose();
- compare(motus);
- }
- public void btnNon_clic(ActionEvent evt){
- System.exit(0);
- }
- public static String lireChaine(String message){
- String valeurMot=null;
- boolean ok=true;
- while(ok==true){
- String saisieMot=JOptionPane.showInputDialog(message);
- if (saisieMot==null)System.exit(0);
- try{
- valeurMot=saisieMot;
- ok=false;
- }
- catch(Exception exc){JOptionPane.showMessageDialog(null,"Veuillez saisir un mot" );
- }
- }
- return valeurMot;
- }
- public static String penduMot(){
- String mot=null;
- do{
- mot=lireChaine("Taper le mot à chercher :" );
- }while(mot==null);
- new Pendu(mot).setVisible(true);
- return mot;
- }
- public static void compare(String motus){
- int coupRestant=10;
- char[] tableauMot=motus.toCharArray();
- int art=tableauMot.length;
- char[] tableauReponse=new char[art];
- char[] tableauAnswer=new char[art];
- String lettre;
- while(! java.util.Arrays.equals(tableauAnswer,tableauMot) && coupRestant>0){
- do{
- lettre=lireChaine("Taper une lettre :" );
- }while(lettre==null);
- char[] convLettre=lettre.toCharArray();
- char laLettre=convLettre[0];
- String reponse="";
- for (int i=0; i<art; i++) {
- if (laLettre == tableauMot[i]) {
- reponse=reponse + tableauMot[i];
- }
- else{
- reponse=reponse + "*";
- }
- tableauReponse=reponse.toCharArray();
- }
- for(int x=0; x<art; x++){
- if(tableauReponse[x]=='*'){
- if(coupRestant==10){
- tableauAnswer[x]=tableauReponse[x];
- }
- }
- else{
- tableauAnswer[x]=tableauReponse[x];
- }
- System.out.print(tableauAnswer[x]);
- }
- coupRestant=coupRestant-1;
- System.out.println();
- System.out.println("Il vous reste "+coupRestant+" tentatives" );
- }
- if(! java.util.Arrays.equals(tableauAnswer,tableauMot)){
- showMessageDialogL(coupRestant, motus);
- }
- else{
- showMessageDialogW(coupRestant, motus);
- }
-
- }
- public static void showMessageDialogW(int coupRestant, String motus){
- JOptionPane.showMessageDialog(null,"Felicitation, vous avez trouve le mot en "+coupRestant+" tentatives.\n"
- +"La solution était : "+motus);
- }
- public static void showMessageDialogL(int coupRestant, String motus){
- JOptionPane.showMessageDialog(null,"Desole, ca sera pour une autre fois.\n"+"La solution était : "+motus);
- }
- public static void main(String[] args) {
- penduMot();
- }
- }
|
Message édité par frenchlover le 03-05-2005 à 15:02:07 ---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
|