Mise à jour du gitignore et nettoyage du cache

This commit is contained in:
tit-exe
2026-03-04 13:45:36 +01:00
parent 5a884429fa
commit 33afb91886
8 changed files with 193 additions and 164 deletions

View File

@@ -1,8 +1,6 @@
package linea;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -11,15 +9,8 @@ import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.Timer;
@@ -56,12 +47,13 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
protected JLabel labGameOver;
protected int compteurInvincible = 0;
// menu et fenetre
protected JFrame fenetre;
protected JPanel panneauMenu;
protected JTextField champPseudo;
// le pseudo du joueur
protected String pseudo = "";
// la fenêtre et le menu principal
protected JFrame fenetre;
protected MenuPrincipal menu;
// -------------------------------------------------------------------------
// METHODES
// -------------------------------------------------------------------------
@@ -141,14 +133,15 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
// -------------------------------------------------------------------------
// Démarrage du jeu :
// création de diverses instances et
// création de diverses instances et affichage du menu
// -------------------------------------------------------------------------
public void demarrer() {
// Création d'une fenêtre
fenetre = new JFrame("Linea");
// on affiche le menu en premier
afficherMenu();
// on crée le menu et on l'affiche en premier
menu = new MenuPrincipal(fenetre, this);
menu.afficher(pseudo);
fenetre.setSize(800, 600);
fenetre.setResizable(false);
@@ -157,111 +150,12 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private void afficherMenu() {
panneauMenu = new JPanel();
panneauMenu.setLayout(new BoxLayout(panneauMenu, BoxLayout.Y_AXIS));
panneauMenu.setBackground(new Color(15, 15, 35));
panneauMenu.setPreferredSize(new Dimension(800, 600));
// espace en haut
panneauMenu.add(Box.createVerticalStrut(80));
// titre du jeu
JLabel titre = new JLabel("LINEA");
titre.setAlignmentX(JLabel.CENTER_ALIGNMENT);
titre.setForeground(new Color(0, 180, 255));
titre.setFont(new Font("Arial", Font.BOLD, 80));
panneauMenu.add(titre);
// petit sous-titre
JLabel sousTitre = new JLabel("esquive la ligne");
sousTitre.setAlignmentX(JLabel.CENTER_ALIGNMENT);
sousTitre.setForeground(new Color(120, 120, 160));
sousTitre.setFont(new Font("Arial", Font.PLAIN, 18));
panneauMenu.add(sousTitre);
panneauMenu.add(Box.createVerticalStrut(40));
// label pseudo
JLabel labPseudo = new JLabel("pseudo");
labPseudo.setAlignmentX(JLabel.CENTER_ALIGNMENT);
labPseudo.setForeground(new Color(180, 180, 200));
labPseudo.setFont(new Font("Arial", Font.PLAIN, 14));
panneauMenu.add(labPseudo);
panneauMenu.add(Box.createVerticalStrut(8));
// champ de texte pour le pseudo
champPseudo = new JTextField(15);
champPseudo.setText(pseudo); // garde le pseudo prérempli s'il y en a un
champPseudo.setMaximumSize(new Dimension(250, 40));
champPseudo.setFont(new Font("Arial", Font.PLAIN, 16));
champPseudo.setHorizontalAlignment(JTextField.CENTER);
champPseudo.setBackground(new Color(30, 30, 60));
champPseudo.setForeground(Color.WHITE);
champPseudo.setCaretColor(Color.WHITE);
champPseudo.setBorder(BorderFactory.createLineBorder(new Color(0, 180, 255), 2, true));
champPseudo.setAlignmentX(JTextField.CENTER_ALIGNMENT);
panneauMenu.add(champPseudo);
panneauMenu.add(Box.createVerticalStrut(40));
// bouton jouer
JButton boutonJouer = new JButton("JOUER");
styleBouton(boutonJouer, new Color(0, 130, 255));
boutonJouer.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lancerPartie();
}
});
panneauMenu.add(boutonJouer);
panneauMenu.add(Box.createVerticalStrut(15));
// bouton classement
JButton boutonClassement = new JButton("CLASSEMENT");
styleBouton(boutonClassement, new Color(100, 100, 150));
boutonClassement.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(fenetre, "TOP SCORES", "Classement", JOptionPane.INFORMATION_MESSAGE);
}
});
panneauMenu.add(boutonClassement);
panneauMenu.add(Box.createVerticalStrut(15));
// bouton quitter
JButton boutonQuitter = new JButton("QUITTER");
styleBouton(boutonQuitter, new Color(200, 50, 50));
boutonQuitter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
panneauMenu.add(boutonQuitter);
fenetre.setContentPane(panneauMenu);
fenetre.revalidate();
fenetre.repaint();
}
private void styleBouton(JButton btn, Color fond) {
btn.setAlignmentX(JButton.CENTER_ALIGNMENT);
btn.setFont(new Font("Arial", Font.BOLD, 18));
btn.setForeground(Color.WHITE);
btn.setBackground(fond);
btn.setFocusPainted(false);
btn.setBorderPainted(false);
btn.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn.setMaximumSize(new Dimension(200, 45));
}
private void lancerPartie() {
// on recupere le pseudo
pseudo = champPseudo.getText();
// -------------------------------------------------------------------------
// Lance une nouvelle partie (appelé par le MenuPrincipal)
// -------------------------------------------------------------------------
public void lancerPartie(String pseudoSaisi) {
// on récupère le pseudo
pseudo = pseudoSaisi;
// A FAIRE :
// placer dans l'instance de l'écran tous les objets graphiques nécessaires
@@ -347,6 +241,9 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
demiCercleAvant.ResterDansLigne(lili);
}
// -------------------------------------------------------------------------
// Retour au menu principal (après un game over)
// -------------------------------------------------------------------------
private void retourMenu() {
// on arrete le timer du jeu
if (horloge != null) {
@@ -364,7 +261,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
ecran.viderObjets();
// on retourne au menu principal
afficherMenu();
menu.afficher(pseudo);
}
// -------------------------------------------------------------------------