| 12
 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
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 
 | import java.io.IOException;  
//Permet d'ouvrir un lien HTML
import java.util.Properties; 
// Inter face Graphique
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
//-----------------------------------Action Listener--------------------------
ActionListener lancerLeBonProgramme = new ActionListener() { // ActionListener des boutons, associe des voids aux boutons.
	public void actionPerformed(ActionEvent clic) 
	{	if (clic.getActionCommand().equals("jouer")) { Jouer();}
		if (clic.getActionCommand().equals("regle")) {Regle();}
		if (clic.getActionCommand().equals("quitter")) {Quitter();}
		}
};
//-----------------------------------------------------------------------------
 
//----------------------Creation d'une nouvelle fenetre  ----------------------
JFrame f = new JFrame(); // la nouvelle fenetre s'appelle f
 
int largeurFenetre=1200;
int hauteurFenetre=700;
int xc=largeurFenetre/2; //milieu fenetre
int yc=hauteurFenetre/2; // milieu fenetre
int largeur;
int hauteur;
int posX;
int posY;
int taillecarreau=30;
int OrigX;
int OrigY;
int NbCarreauX=16;
int NbCarreauY=6;
 
boolean redimensionnement=false; // empeche le redimenssionement de la fenetre
boolean accueil=true; // permet l'affichage bouton sur l'accueil
 
	JPanel cadre = new JPanel();
	Dessin map = new Dessin();
// ton cadre doit ?tre un JPanel dans ce cas. Les cadres de type Dessin() sont fait pour supporter
// du graphisme...
 
// par contre , dans une fenetre, tu peux y mettre plusieurs cadres dont un serait du type dessin()
 
 
//----------------------------------------------------------------------------
 
//---------------------------------Definition boutons-------------------------
JButton jouer = new JButton("<html><font size = 7>Jouer</font></html>"); // Bouton Jouer
JButton regle = new JButton("<html><font size =7>Règles</font></html>"); // Bouton Regle
JButton quitter = new JButton("<html><font size = 5>Quitter</font></html>");//Bouton Quitter
//----------------------------------------------------------------------------
 
//---------------------------------Images-------------------------------------
	Icon boutonquitter = new ImageIcon("BoutonQuitter.jpg"); // Image pour le bouton quitter
	Icon WallPaper = new ImageIcon("Wallpaper.png"); // Image pour le bouton quitter
 
//----------------------------------------------------------------------------
 
//------------------Initialisation de la fenetre -----------------------------
void afficheFenetre(){
     f.setTitle("BomberMan");             // titre
	f.setSize(largeurFenetre, hauteurFenetre+100);      //taille
     f.setLocation(0,0);       			   //position
	f.add(cadre);    			  // insertion du cadre dans la fenetre
	f.setVisible(true);			  // affichage de la fenetre
	f.setResizable(redimensionnement); // empeche le redimensionnement de la fenetre
}
 
void Jouer(){
	accueil=false; // stop la boucle qui affiche les 3 boutons
	cadre.remove(jouer); // vire les boutons
	cadre.remove(regle);
	quitter.setBounds(largeur-170,20,150,50); // repositionne le bouton
	cadre.add(quitter); // remet le bouton quitter
	quitter.setOpaque(true);// laisse l'opacite du bouton quitter
	cadre.repaint(); // repositionne chaque element ayant changer de position
}
 
void Quitter(){
f.setVisible(false); // ferme la fenetre
accueil=false; // ferme la boucle du menu principal
}
 
void Regle(){
	Properties sys = System.getProperties();
String os = sys.getProperty("os.name"); //on recupere le nom du systeme
Runtime r = Runtime.getRuntime(); //on recupere l'environnement d'execution
      try{ //on essaye
      	if (os.startsWith("Mac")) // si on est sur MAC
		r.exec("open http://gurvanisn.forumactif.org/h1-regle-pendu"); //ouvre la page des regles a partir d'une commande dans l'evt d'execution
	else // si on est sur Windows
	r.exec("cmd /c start http://gurvanisn.forumactif.org/h1-regle-pendu");} //ouvre la page des regles a partir d'une commande dans l'evt d'execution
      catch (IOException ex){ //si cela echoue
      ex.printStackTrace();
      println("Impossible d'ouvrir le navigateur."); // affiche ce message si l'ouverture a echoue
   sleep(200);
    }
}
 
void boutons(){
	largeur = cadre.getWidth(); // donne la largeur de la fenetre 
	hauteur = cadre.getHeight(); // donne la hauteur de la fenetre
 
	regle.setBounds((largeur/2)-75,hauteur/2-120,150,90); // donne les dimensions du bouton regle
	regle.setActionCommand("regle"); // associer un mot au bouton pour l'action Listener
	regle.addActionListener(lancerLeBonProgramme); // associer l'actionListener leBonProgramme au bouton
	cadre.add(regle);
 
	jouer.setBounds((largeur/2)-75,hauteur/2,150,90); // Le bouton jouer lance le programme principal
	jouer.setActionCommand("jouer"); // associer un mot pour l'actionListener
	jouer.addActionListener(lancerLeBonProgramme); // Associer l'actionListener au bouton
	cadre.add(jouer);
 
	quitter.setBounds((largeur/2)-75,hauteur/2+120,150,50); // donne les dimension du boutn
	quitter.setActionCommand("quitter"); // associer quitter au bouton pour l'action listener
	quitter.addActionListener(lancerLeBonProgramme); // donne l'action listener pour lequel emettre
	quitter.setIcon(boutonquitter); // associer une image au bouton quitter
	cadre.add(quitter);
}
 
void main(){
	clear(); // efface la console
	cadre.setBackground(Color.WHITE);
	afficheFenetre(); //ouvre la fenetre et ses propriete
	accueil=true; // reactive le menu principal
	cadre.setLayout(null);
 
 
//	JLabel background = new JLabel(WallPaper);
//	background.setBounds(0,0,largeurFenetre,hauteurFenetre+100);
//	background.setOpaque(false);
//	cadre.add(background);
 
	boutons();	// met les boutons a leur bonne place
 
	clear();
	afficheFenetre();
 
	OrigX=cadre.getWidth()/2-(taillecarreau*2*NbCarreauX)/2;
	OrigY=cadre.getHeight()/2-(taillecarreau*2*NbCarreauY)/2;
}
 
public class Dessin extends JPanel{
	public void paintComponent(Graphics g){
 
for(int x=0; x<NbCarreauX;x++){
	posX=x*2*taillecarreau;
	for(int y=0; y<NbCarreauY;y++){
		g.setColor(Color.BLACK);
		posX=x*(2*taillecarreau)+OrigX;
		posY=y*(2*taillecarreau)+OrigY;
		g.fillRect(posX,posY,taillecarreau,taillecarreau);
 
 
		posX=x*2*taillecarreau+taillecarreau+OrigX;
		posY=y*2*taillecarreau+taillecarreau+OrigY;
		g.fillRect(posX,posY,taillecarreau,taillecarreau);
 
		g.setColor(Color.RED);
 
		posX=x*2*taillecarreau+taillecarreau+OrigX;
		posY=y*2*taillecarreau+OrigY;
		g.fillRect(posX,posY,taillecarreau,taillecarreau);
 
 
		posX=x*2*taillecarreau+OrigX;
		posY=y*2*taillecarreau+taillecarreau+OrigY;
		g.fillRect(posX,posY,taillecarreau,taillecarreau);
 
}
}
	}
} | 
Partager