1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| // j importe les biblio
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
//classe mère où les variables de bases sont définies. Elles seront rappelées par la suite
public class Jeu {
//on déclare les variables suivantes qu'on aura besoin pour le jeu
protected int nbPions;
protected int nbCouleurs;
protected int nbTentatives;
//on déclare un constructeur par défaut en initialisant les variables.
public Jeu(){ setJeu(4,5,5); }
// on déclare un constructeur dans le cas où les variables sont proposées
public Jeu( int a, int b, int c) { setJeu (a,b,c);}
// on déclare la méthode qui va initialiser toutes ces variables pour ce jeu (surcharge)
public void setJeu(int a, int b, int c){
nbPions=a;
nbCouleurs=b;
nbTentatives=c;
}
//on définit une méthode qui va initialiser la variable nbPions
public void setNbPions(int a){ nbPions=a;}
//on définit une méthode qui va initialiser la variable nbCouleurs
public void setNbCouleurs(int a){ nbCouleurs=a;}
//on définit une méthode qui va initialiser la variable nbTentatives
public void setNbTentatives(int a){ nbTentatives=a;}
//on définit une méthode qui retourne les variables demandées
public int getnbPions(){return nbPions;}
public int getnbCouleurs(){return nbCouleurs;}
public int getnbTentatives(){return nbTentatives;}
// on surcharge le TOstring
public String toString() { return "la classe est définie par nb de pions="+nbPions+" nb de couleurs="+nbCouleurs+" nb de tentatives="+nbTentatives;}
}
//classe s occupant de la construction de la fenetre principale
class FenetrePrincipale extends JFrame implements ActionListener{
//je crée la barre de menu
protected JMenuBar barreMenus;
//je crée les menus
protected JMenu fichier, options, jeux, aide;
// je crée les sous menus
protected JMenuItem nouveauJeu, ferme, definirTentatives, definirCouleurs, definirPions, definirCombinaison, about;
//constructeur par défaut
public FenetrePrincipale(){
// permettre la fermeture du programme sur la croix rouge
addWindowListener(new WindowAdapter()
{ public void windowClosing (WindowEvent e)
{ System.exit(0);
}
});
setFenetre();
}
//paramétrage de la fenetre
public void setFenetre(){
///je definis le titre
setTitle ("MasterMind");
//je definis la taille de la fenetre
setSize(800,600);
//creations de la barre de menus
barreMenus = new JMenuBar();
setJMenuBar(barreMenus);
//creations du menu fichier et de ses sous menus
fichier = new JMenu("Fichier");
barreMenus.add(fichier);
nouveauJeu = new JMenuItem("Nouveau Jeu");
fichier.add(nouveauJeu);
nouveauJeu.addActionListener(this);
ferme = new JMenuItem("Quitter");
fichier.add(ferme);
ferme.addActionListener(this);
//creations du menu options et ses sous menus
options = new JMenu("Options");
barreMenus.add(options);
definirTentatives = new JMenuItem("Définir un nombre de tentatives");
options.add(definirTentatives);
definirTentatives.addActionListener(this);
definirCouleurs = new JMenuItem("Définir un nombre de couleurs");
options.add(definirCouleurs);
definirCouleurs.addActionListener(this);
definirPions = new JMenuItem("Définir un nombre de pions");
options.add(definirPions);
definirPions.addActionListener(this);
//creations menu Jeux et sous menus
jeux = new JMenu("Jeux");
barreMenus.add(jeux);
definirCombinaison= new JMenuItem("Définir votre combinaison");
jeux.add(definirCombinaison);
definirCombinaison.addActionListener(this);
//creation menu aide
aide = new JMenu("?");
barreMenus.add(aide);
about= new JMenuItem("About");
aide.add(about);
about.addActionListener(this);
this.setVisible(true);
}
//surdef de ActionPerformed // ecouteur
public void actionPerformed (ActionEvent e){
Object source = e.getSource();
//si on clique sur nouvelle partie, on lance une nouvelle partie. /* A REDEFINIR!!!!!!!!!!!!!!!*/
if (source == nouveauJeu) {
Jeu j;
j=new Jeu(4,5,5);
}
// on permet la fermeture du programme
if (source == ferme){
//this.setVisible(false);
System.exit(0);
}
// on permet la definition des nbTentatives
if (source == definirTentatives){
String txt = JOptionPane.showInputDialog(null, "Donnez le nombre de tentatives autorisées:");
if (txt == null){
setNbTentatives(5); /!\ c'est ici le problème
}
else{
setNbTentatives(txt); ici aussi
}
}
}
//surcharge TOSTRING
public String toString() { return "La classe est la classe qui construit la fenetre principale";}
} |
Partager