Hi everyone !!
Im here because I started a game, called Doode, its a kind of RTS and I approve that I’m a little bit lost.
For now, I have a game main, where i can select play, options, forum (which open IE) and exit.
I also have a graphic interface of game, with variable showing etc etc…
So, I’ll post all my classes and you’ll be fine to say me where I have to change code…
And last but no least, I want to better organize my classes, but I totally dunno how.
Please criticize my work 
Main class:
public class Main {
public static void main(String[] args) {
Menu m = new Menu("Doode - Menu");
}
}
Menu class:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class Menu extends JFrame implements ActionListener {
JLabel label;
JButton jbPlay = new JButton("", new ImageIcon("jouer.gif"));
JButton jbClose = new JButton("", new ImageIcon("exit.gif"));
JButton jbOptions = new JButton("", new ImageIcon("poptions.jpg"));
JButton jbForum = new JButton("", new ImageIcon("forum.jpg"));
public Menu (String titre) { //création de la méthode constructeur
setTitle (titre);
Container contenu = getContentPane();
jbPlay.setFocusPainted(false);
jbPlay.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
jbPlay.setContentAreaFilled(false);
jbPlay.addActionListener(this);
jbClose.setFocusPainted(false);
jbClose.setBorderPainted(false); // ces trois lignes sont les meme que la haut :)
jbClose.setContentAreaFilled(false);
jbClose.addActionListener(this);
jbOptions.setFocusPainted(false);
jbOptions.setBorderPainted(false); // ces trois lignes sont les meme que la haut :)
jbOptions.setContentAreaFilled(false);
jbOptions.addActionListener(this);
jbForum.setFocusPainted(false);
jbForum.setBorderPainted(false); // ces trois lignes sont les meme que la haut :)
jbForum.setContentAreaFilled(false);
jbForum.addActionListener(this);
contenu.setLayout(null);
JLabel label = new JLabel();
Image image = Toolkit.getDefaultToolkit().createImage("background.gif");// nouveau JLabel backgound
label.setIcon(new ImageIcon(image));
contenu.add(jbPlay, 0);
contenu.add(jbClose, 1);
contenu.add(jbOptions,2);
contenu.add(jbForum,3);
contenu.add(label, 4);
label.setBounds(0, 0, 900, 800);
jbPlay.setBounds(50, 445, 850, 78);
jbClose.setBounds(50, 640, 158, 50);
jbOptions.setBounds(75,230,144,65);
jbForum.setBounds(678,370,212,80);
setSize(907,832);
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == jbPlay){
Jeu j = new Jeu("Doode");
dispose();}
else if(source == jbClose){
System.out.print("Sa marche aussi");
dispose(); }
else if (source == jbOptions){
Options o = new Options();
dispose();}
else if (source == jbForum){
Forum f = new Forum();
}
}
}
jeu class:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
@SuppressWarnings("serial")
public class Jeu extends JFrame implements MouseListener {
public JButton barre1 = new JButton("", new ImageIcon("barre1.gif"));
public JButton barre2 = new JButton("", new ImageIcon("barre2.gif"));
public JButton barre3 = new JButton("", new ImageIcon("barre3.gif"));
public JButton barre4 = new JButton("", new ImageIcon("barre4.gif"));
public JButton champ1 = new JButton("", new ImageIcon("champ.png"));
public JButton champ2 = new JButton("", new ImageIcon("champ.png"));
public JButton rive = new JButton("", new ImageIcon("riviere.bmp"));
public JComboBox Menu1 = new JComboBox();
// déclaration variables
public int ClickX = 0;
public int ClickY =0;
public byte nombreDeDoodeVert=7;
public byte nombreDeDoodeBleu=8;
public byte nombreDeDoodeRouge=4;
public byte nombreDeDoodeJaune=4;
public byte nombreEnnemis=75;
public int nombreDeDoode=nombreDeDoodeVert+nombreDeDoodeBleu+nombreDeDoodeRouge+nombreDeDoodeJaune;
public short doowatt=500;
public short nourriture=500; // chercher un autre nom
public short geleeNoire; // autre nom
public short nombreEnnemisTues=0;
public String pseudo;
public Container contenu2;
public JLabel fond;
// Jeu
public Jeu (String titre) { //création de la méthode constructeur
setTitle (titre);
Container contenu2 = getContentPane();
contenu2.addMouseListener(this);
JLabel BarreVert = new JLabel();
JLabel BarreBleu = new JLabel();
JLabel BarreRouge = new JLabel();
JLabel BarreJaune = new JLabel();
JLabel fond = new JLabel();
contenu2.setLayout(null);
Image image = Toolkit.getDefaultToolkit().createImage("map5.jpg");// nouveau JLabel backgound
fond.setIcon(new ImageIcon(image));
contenu2.add(BarreVert);
BarreVert.setText(""+nombreDeDoodeVert);
BarreVert.setBounds(98,2,20,20);
BarreVert.setForeground(Color.white);
contenu2.add(BarreBleu);
BarreBleu.setText(""+nombreDeDoodeBleu);
BarreBleu.setBounds(292,2,20,20);
BarreBleu.setForeground(Color.white);
contenu2.add(BarreRouge);
BarreRouge.setText(""+nombreDeDoodeRouge);
BarreRouge.setBounds(492,2,20,20);
BarreRouge.setForeground(Color.white);
contenu2.add(BarreJaune);
BarreJaune.setText(""+nombreDeDoodeJaune);
BarreJaune.setBounds(676,2,20,20);
BarreJaune.setForeground(Color.white);
contenu2.add(barre1);
barre1.setBounds(5,5,190,55);
barre1.setFocusPainted(false);
barre1.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
barre1.setContentAreaFilled(false);
barre1.addMouseListener(this);
contenu2.add(barre2);
barre2.setBounds(187,5,190,55);
barre2.setFocusPainted(false);
barre2.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
barre2.setContentAreaFilled(false);
barre2.addMouseListener(this);
contenu2.add(barre3);
barre3.setBounds(372,5,190,55);
barre3.setFocusPainted(false);
barre3.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
barre3.setContentAreaFilled(false);
barre3.addMouseListener(this);
contenu2.add(barre4);
barre4.setBounds(557,5,190,55);
barre4.setFocusPainted(false);
barre4.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
barre4.setContentAreaFilled(false);
barre4.addMouseListener(this);
contenu2.add(champ1);
champ1.setBounds(1000,500,190,55);
champ1.setFocusPainted(false);
champ1.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
champ1.setContentAreaFilled(false);
champ1.addMouseListener(this);
contenu2.add(champ2);
champ2.setBounds(250,800,190,55);
champ2.setFocusPainted(false);
champ2.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
champ2.setContentAreaFilled(false);
champ2.addMouseListener(this);
contenu2.add(rive);
rive.setBounds(0,0,190,55);
rive.setFocusPainted(false);
rive.setBorderPainted(false); // ces trois lignes enelvent la bordure du boutton
rive.setContentAreaFilled(false);
rive.addMouseListener(this);
contenu2.add(fond);
fond.setBounds(0, 0, 1280, 1024);
setSize(1280,1024);
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setVisible(true);
}
public void mouseClicked(MouseEvent e) {
Object source = e.getSource();
if (source != barre1){
ClickX = e.getX();
ClickY = e.getY();
System.out.print("\nla variable est à:"+ClickX+" et à "+ClickY);
contenu2.add(Menu1);
Menu1.setBounds(ClickX, ClickY,100,100);
}
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent Pressevt) {
}
public void mouseReleased(MouseEvent arg0) {
}
}
next one ---->