SAE21_2021/FrameMenu.java

65 lines
2.2 KiB
Java
Raw Normal View History

2022-04-25 17:10:55 +02:00
import javax.swing.*;
import java.awt.*;
// Cette classe à pour but d'afficher un menu et de réagir aux directives de l'utilisateur (lancer le jeu, le quitter...)
public class FrameMenu{
public FrameMenu() {
// On récupère les dimensions de l'écran pour adapter la taille de notre fenêtre
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int frameWidth = screenSize.width * 2/3;
int frameHeight = screenSize.height * 2/3;
int frameLocation[]={screenSize.width * 1/6, screenSize.height * 1/6};
// On crée ensuite notre fenêtre
2022-04-26 12:15:13 +02:00
JFrame fenetre = new JFrame("Démineur - Menu");
2022-04-25 17:10:55 +02:00
fenetre.setSize(frameWidth,frameHeight);
fenetre.setLocation(frameLocation[0],frameLocation[1]);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
2022-04-26 10:49:10 +02:00
// On créer un damier aux couleurs du démineur pour le fond ainsi que des décors
// Découpage de la fenêtre pour la mise en place du damier
2022-04-25 17:10:55 +02:00
Dimension damierSize = fenetre.getSize();
2022-04-26 12:53:34 +02:00
Dimension gridSize = new Dimension(damierSize.width/75, damierSize.height/75);
GridLayout damier = new GridLayout(gridSize.height, gridSize.width);
2022-04-25 17:10:55 +02:00
fenetre.setLayout(damier);
2022-04-26 12:53:34 +02:00
System.out.println(" Menu " + damierSize.width +" "+ damierSize.height + " "+gridSize.width +" "+ gridSize.height );
2022-04-26 10:49:10 +02:00
// Création des couleurs
Color gray1 = new Color(80,80,80);
2022-04-26 12:15:13 +02:00
Color gray2 = new Color(70,70,70);
2022-04-26 10:49:10 +02:00
// Réalisation du damier et ajout d'éléments graphiques
2022-04-26 12:53:34 +02:00
for (int line=0; line<gridSize.height; line++){
for(int cases = 0; cases < gridSize.width; cases++){
2022-04-25 17:10:55 +02:00
if (line%2==0){
if (cases%2==0){
JPanel dark = new JPanel();
2022-04-26 10:49:10 +02:00
dark.setBackground(gray2);
2022-04-25 17:10:55 +02:00
fenetre.add(dark);
} else {
JPanel light = new JPanel();
2022-04-26 10:49:10 +02:00
light.setBackground(gray1);
2022-04-25 17:10:55 +02:00
fenetre.add(light);
}
} else {
if (cases%2==0){
JPanel light = new JPanel();
2022-04-26 10:49:10 +02:00
light.setBackground(gray1);
2022-04-25 17:10:55 +02:00
fenetre.add(light);
} else {
JPanel dark = new JPanel();
2022-04-26 10:49:10 +02:00
dark.setBackground(gray2);
2022-04-25 17:10:55 +02:00
fenetre.add(dark);
}
}
}
}
2022-04-26 12:15:13 +02:00
// A faire : choix de la taille de la grille, bouton jouer, charger et quitter, déscription/règles du jeu
2022-04-25 17:10:55 +02:00
fenetre.setVisible(true);
}
}