Problème avec un programme événementiel (NETBEANS)
Scott_2000
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
Scott_2000 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Scott_2000 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en terminale S SI avec spécialité ISN.
Pour la fin de l'année je dois faire un projet.
J'ai choisi de faire un petit jeu semblable au "Dobble", si vous connaissez.
Je fais tout le programme sur le logiciel NETBEANS.
Venons maintenant au sujet.
Mon programme fait les actions suivantes :
- Il créé des Labels, puis créé des valeurs aléatoire qu'il associe à chaque Label (grâce à des switchs). Chaque valeur donne une image aléatoire à chaque Label.
- Ensuite le programme fait en sorte que toutes les images soient différentes, sauf 2 qui sont identiques (ainsi le joueur doit retrouver lesquelles sont identiques).
Jusque là tout va bien, seulement voila le hic.
Je n'arrive pas à faire en sorte que dés que le joueur clique sur l'une des deux images identiques alors il passe au niveau suivant.
J'ai déjà essayé de prendre une valeur que j'appelle similaire qui est égale à celle des valeurs des deux images identiques puis de la réutiliser dans un "mouseReleased". Seulement la valeur similaire fait parti d'un sous programme et NETBEANS refuse de l'utiliser dans le "mouseReleased", il dit qu'elles ne sont pas définies.
Pouvez vous m'aider à trouver une solution ?
Merci
Je suis en terminale S SI avec spécialité ISN.
Pour la fin de l'année je dois faire un projet.
J'ai choisi de faire un petit jeu semblable au "Dobble", si vous connaissez.
Je fais tout le programme sur le logiciel NETBEANS.
Venons maintenant au sujet.
Mon programme fait les actions suivantes :
- Il créé des Labels, puis créé des valeurs aléatoire qu'il associe à chaque Label (grâce à des switchs). Chaque valeur donne une image aléatoire à chaque Label.
- Ensuite le programme fait en sorte que toutes les images soient différentes, sauf 2 qui sont identiques (ainsi le joueur doit retrouver lesquelles sont identiques).
Jusque là tout va bien, seulement voila le hic.
Je n'arrive pas à faire en sorte que dés que le joueur clique sur l'une des deux images identiques alors il passe au niveau suivant.
J'ai déjà essayé de prendre une valeur que j'appelle similaire qui est égale à celle des valeurs des deux images identiques puis de la réutiliser dans un "mouseReleased". Seulement la valeur similaire fait parti d'un sous programme et NETBEANS refuse de l'utiliser dans le "mouseReleased", il dit qu'elles ne sont pas définies.
Pouvez vous m'aider à trouver une solution ?
Merci
A voir également:
- Problème avec un programme événementiel (NETBEANS)
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
3 réponses
Bonjour KX,
Mon programme commence comme ceci :
Il initialise le Frame puis les labels, ensuite il lance le sous-programme (qui fait en sorte que les images soient aléatoires).
Et à la fin, il créé le mouse released.
Voilà le début de mon programme :
Le initComponents a était crée par NETBEANS (un petit bazar) :
J'espère que mon explication te va.
En tout cas merci de ton aide.
Mon programme commence comme ceci :
Il initialise le Frame puis les labels, ensuite il lance le sous-programme (qui fait en sorte que les images soient aléatoires).
Et à la fin, il créé le mouse released.
Voilà le début de mon programme :
public NewJFrame() { initComponents(); getContentPane().setBackground(Color.WHITE); spawn(); jLabel1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { jLabel1MouseReleased(evt); } });
Le initComponents a était crée par NETBEANS (un petit bazar) :
private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Pikodu"); setBackground(new java.awt.Color(0, 0, 0)); setName("frame"); // NOI18N setSize(new java.awt.Dimension(1480, 10000)); jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jLabel1.setSize(new java.awt.Dimension(40, 40)); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(35, 35, 35) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(89, 89, 89) .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(29, 29, 29) .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(112, 112, 112)) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 232, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(33, 33, 33) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(103, 103, 103) .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 243, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 268, javax.swing.GroupLayout.PREFERRED_SIZE))) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 260, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGap(82, 82, 82) .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(43, 43, 43) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 161, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(81, 81, 81) .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 192, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(6, 6, 6) .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 194, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(46, 46, 46) .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 173, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(9105, Short.MAX_VALUE)) ); pack(); }
J'espère que mon explication te va.
En tout cas merci de ton aide.
L'interface graphique je m'en moque un peu, tu veux qu'on t'aide sur la partie de sélection de deux images identiques, mais on n'a pas le code qui correspond.
Mon programme fait les actions suivantes :Quel est le code qui te permet de faire ça, c'est sur celui là qu'il va falloir travailler !
- Il créé des Labels, puis créé des valeurs aléatoire qu'il associe à chaque Label (grâce à des switchs). Chaque valeur donne une image aléatoire à chaque Label.
- Ensuite le programme fait en sorte que toutes les images soient différentes, sauf 2 qui sont identiques (ainsi le joueur doit retrouver lesquelles sont identiques).
Bonjour,
Je n'ai pas pu envoyer de réponse hier et ce matin.
Ce que j'aimerais c'est que quand je dis valeur 1=valeur2 (en gras dans le p par exemple qu'elles soient égales à une valeur S que je puisse utiliser dans le mousereleased.
Par exemple je clique sur l'image 1, si la valeur1 (valeur de l'image 1) est égale à S alors relancer le sous-programme, sinon ne rien faire (pour l'instant).
Voici une partie de mon sous programme (car c'est beaucoup de répétitions) :
Je n'ai pas pu envoyer de réponse hier et ce matin.
Ce que j'aimerais c'est que quand je dis valeur 1=valeur2 (en gras dans le p par exemple qu'elles soient égales à une valeur S que je puisse utiliser dans le mousereleased.
Par exemple je clique sur l'image 1, si la valeur1 (valeur de l'image 1) est égale à S alors relancer le sous-programme, sinon ne rien faire (pour l'instant).
Voici une partie de mon sous programme (car c'est beaucoup de répétitions) :
int spawn(){ for(int n=0 ;n<1;){ Random r = new Random(); //carte 1 int valeur1 = 1+r.nextInt(10 - 0); int valeur2 = 1+r.nextInt(10 - 0); int valeur3 = 1+r.nextInt(10 - 0); int valeur4 = 1+r.nextInt(10 - 0); //carte 2 int valeur5 = 1+r.nextInt(10 - 0); int valeur6 = 1+r.nextInt(10 - 0); int valeur7 = 1+r.nextInt(10 - 0); int valeur8 = 1+r.nextInt(10 - 0); if(valeur1!=valeur2 && valeur1!=valeur3 && valeur1!=valeur4 && valeur1!=valeur5 && valeur1!=valeur6 && valeur1!=valeur7 && valeur1!=valeur8 && valeur2!=valeur3 && valeur2!=valeur4 && valeur2!=valeur5 && valeur2!=valeur6 && valeur2!=valeur7 && valeur2!=valeur8 && valeur3!=valeur4 && valeur3!=valeur5 && valeur3!=valeur6 && valeur3!=valeur7 && valeur3!=valeur8 && valeur4!=valeur5 && valeur4!=valeur6 && valeur4!=valeur7 && valeur4!=valeur8 && valeur5!=valeur6 && valeur5!=valeur7 && valeur5!=valeur8 && valeur6!=valeur7 && valeur6!=valeur8 && valeur7!=valeur8){ n++; } else{ } int similaire = 1+r.nextInt(56 - 0); switch (similaire){ case 1: <bold>valeur1=valeur2;</bold> break; case 2: valeur1=valeur3; break; case 3: valeur1=valeur4; break; switch (valeur1){ case 1: jLabel1.setIcon(new javax.swing.ImageIcon("/Users/Julienmazzia1/NetBeansProjects/Image Pikodu/src/image1/airliner-146590_1280.png")); break; case 2: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image3/animal-160760_1280.png"))); // NOI18N break; case 3: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image5/elk-35579_1280.png"))); // NOI18N break; case 4: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image9/money-576571_1280.png"))); // NOI18N break; case 5: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image2/jeep-309501_1280.png"))); break; case 6: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image_10/police-30120_1280.png"))); break; case 7: jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image1/gun-307956_1280.png"))); break; case 8 : jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image8/car-29645_1280.png"))); // NOI18N break; case 9 : jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image7/horse-159512_1280.png"))); break; case 10 : jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/image6/fish-576515_1280.png"))); break; } }