Mise à jour du gitignore et nettoyage du cache
This commit is contained in:
100
.gitignore
vendored
100
.gitignore
vendored
@@ -1,2 +1,100 @@
|
|||||||
|
# ==============================================================================
|
||||||
|
# 1. SPECIFIQUE A TON PROJET (Ce qu'on voit sur le screenshot)
|
||||||
|
# ==============================================================================
|
||||||
|
# Dossiers de compilation (IntelliJ génère 'out', Eclipse génère 'bin')
|
||||||
out/
|
out/
|
||||||
/out
|
bin/
|
||||||
|
|
||||||
|
# Fichiers de configuration de module IntelliJ
|
||||||
|
*.iml
|
||||||
|
|
||||||
|
# Dossier de configuration projet IntelliJ
|
||||||
|
# (On ignore tout le dossier car il contient souvent des chemins locaux spécifiques à ta machine)
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 2. JAVA (Standard)
|
||||||
|
# ==============================================================================
|
||||||
|
# Fichiers compilés
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# Archives packagées
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.nar
|
||||||
|
*.ear
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# Logs et fichiers temporaires
|
||||||
|
*.log
|
||||||
|
*.lock
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 3. INTELLIJ IDEA (JetBrains) - Le "Overkill" pour être sûr
|
||||||
|
# ==============================================================================
|
||||||
|
# Couvre IntelliJ, PyCharm, PhpStorm, Android Studio, etc.
|
||||||
|
*.iws
|
||||||
|
*.ipr
|
||||||
|
*.jwks
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 4. ECLIPSE
|
||||||
|
# ==============================================================================
|
||||||
|
.metadata
|
||||||
|
.classpath
|
||||||
|
.project
|
||||||
|
.settings/
|
||||||
|
.loadpath
|
||||||
|
.recommenders
|
||||||
|
.factorypath
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 5. VISUAL STUDIO CODE
|
||||||
|
# ==============================================================================
|
||||||
|
.vscode/
|
||||||
|
*.code-workspace
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 6. SYSTEME D'EXPLOITATION (Mac / Windows / Linux)
|
||||||
|
# ==============================================================================
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
.directory
|
||||||
|
|
||||||
|
# ==============================================================================
|
||||||
|
# 7. PYTHON / ANTIGRAVITY (Si jamais tu mélanges des scripts)
|
||||||
|
# ==============================================================================
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
*.so
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
venv/
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
pip-log.txt
|
||||||
10
.idea/.gitignore
generated
vendored
10
.idea/.gitignore
generated
vendored
@@ -1,10 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
# Ignored default folder with query files
|
|
||||||
/queries/
|
|
||||||
# Datasource local storage ignored files
|
|
||||||
/dataSources/
|
|
||||||
/dataSources.local.xml
|
|
||||||
# Editor-based HTTP Client requests
|
|
||||||
/httpRequests/
|
|
||||||
6
.idea/misc.xml
generated
6
.idea/misc.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="25" project-jdk-type="JavaSDK">
|
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/projet-dev.iml" filepath="$PROJECT_DIR$/projet-dev.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="VcsDirectoryMappings">
|
|
||||||
<mapping directory="" vcs="Git" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module type="JAVA_MODULE" version="4">
|
|
||||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
||||||
<exclude-output />
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="linea" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
141
src/Jeu.java
141
src/Jeu.java
@@ -1,8 +1,6 @@
|
|||||||
package linea;
|
package linea;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Cursor;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
@@ -11,15 +9,8 @@ import java.awt.event.KeyListener;
|
|||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
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.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JTextField;
|
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
import javax.swing.Timer;
|
import javax.swing.Timer;
|
||||||
|
|
||||||
@@ -56,12 +47,13 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
protected JLabel labGameOver;
|
protected JLabel labGameOver;
|
||||||
protected int compteurInvincible = 0;
|
protected int compteurInvincible = 0;
|
||||||
|
|
||||||
// menu et fenetre
|
// le pseudo du joueur
|
||||||
protected JFrame fenetre;
|
|
||||||
protected JPanel panneauMenu;
|
|
||||||
protected JTextField champPseudo;
|
|
||||||
protected String pseudo = "";
|
protected String pseudo = "";
|
||||||
|
|
||||||
|
// la fenêtre et le menu principal
|
||||||
|
protected JFrame fenetre;
|
||||||
|
protected MenuPrincipal menu;
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// METHODES
|
// METHODES
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
@@ -141,14 +133,15 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// Démarrage du jeu :
|
// Démarrage du jeu :
|
||||||
// création de diverses instances et
|
// création de diverses instances et affichage du menu
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
public void demarrer() {
|
public void demarrer() {
|
||||||
// Création d'une fenêtre
|
// Création d'une fenêtre
|
||||||
fenetre = new JFrame("Linea");
|
fenetre = new JFrame("Linea");
|
||||||
|
|
||||||
// on affiche le menu en premier
|
// on crée le menu et on l'affiche en premier
|
||||||
afficherMenu();
|
menu = new MenuPrincipal(fenetre, this);
|
||||||
|
menu.afficher(pseudo);
|
||||||
|
|
||||||
fenetre.setSize(800, 600);
|
fenetre.setSize(800, 600);
|
||||||
fenetre.setResizable(false);
|
fenetre.setResizable(false);
|
||||||
@@ -157,111 +150,12 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void afficherMenu() {
|
// -------------------------------------------------------------------------
|
||||||
panneauMenu = new JPanel();
|
// Lance une nouvelle partie (appelé par le MenuPrincipal)
|
||||||
panneauMenu.setLayout(new BoxLayout(panneauMenu, BoxLayout.Y_AXIS));
|
// -------------------------------------------------------------------------
|
||||||
panneauMenu.setBackground(new Color(15, 15, 35));
|
public void lancerPartie(String pseudoSaisi) {
|
||||||
panneauMenu.setPreferredSize(new Dimension(800, 600));
|
// on récupère le pseudo
|
||||||
|
pseudo = pseudoSaisi;
|
||||||
// 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();
|
|
||||||
|
|
||||||
// A FAIRE :
|
// A FAIRE :
|
||||||
// placer dans l'instance de l'écran tous les objets graphiques nécessaires
|
// 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);
|
demiCercleAvant.ResterDansLigne(lili);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------------------------------------------------------
|
||||||
|
// Retour au menu principal (après un game over)
|
||||||
|
// -------------------------------------------------------------------------
|
||||||
private void retourMenu() {
|
private void retourMenu() {
|
||||||
// on arrete le timer du jeu
|
// on arrete le timer du jeu
|
||||||
if (horloge != null) {
|
if (horloge != null) {
|
||||||
@@ -364,7 +261,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
ecran.viderObjets();
|
ecran.viderObjets();
|
||||||
|
|
||||||
// on retourne au menu principal
|
// on retourne au menu principal
|
||||||
afficherMenu();
|
menu.afficher(pseudo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|||||||
75
src/MenuPrincipal.java
Normal file
75
src/MenuPrincipal.java
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
package linea;
|
||||||
|
|
||||||
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
// Classe qui représente le menu principal du jeu (affiché au lancement).
|
||||||
|
public class MenuPrincipal {
|
||||||
|
|
||||||
|
private JFrame fenetre;
|
||||||
|
private Jeu jeu;
|
||||||
|
private JTextField champPseudo;
|
||||||
|
|
||||||
|
public MenuPrincipal(JFrame fenetre, Jeu jeu) {
|
||||||
|
this.fenetre = fenetre;
|
||||||
|
this.jeu = jeu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Construit et affiche le panneau du menu dans la fenêtre
|
||||||
|
public void afficher(String pseudoActuel) {
|
||||||
|
|
||||||
|
JPanel panneau = new JPanel(new GridLayout(6, 1, 10, 10));
|
||||||
|
|
||||||
|
JLabel titre = new JLabel("LINEA", SwingConstants.CENTER);
|
||||||
|
champPseudo = new JTextField(pseudoActuel, 15);
|
||||||
|
|
||||||
|
JButton boutonJouer = new JButton("Jouer");
|
||||||
|
JButton boutonClassement = new JButton("Classement");
|
||||||
|
JButton boutonQuitter = new JButton("Quitter");
|
||||||
|
|
||||||
|
boutonJouer.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
jeu.lancerPartie(champPseudo.getText());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
boutonClassement.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
JOptionPane.showMessageDialog(fenetre, "TOP SCORES", "Classement", JOptionPane.INFORMATION_MESSAGE);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
boutonQuitter.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
panneau.add(titre);
|
||||||
|
panneau.add(champPseudo);
|
||||||
|
panneau.add(boutonJouer);
|
||||||
|
panneau.add(boutonClassement);
|
||||||
|
panneau.add(boutonQuitter);
|
||||||
|
|
||||||
|
// panneau centré dans la fenêtre
|
||||||
|
JPanel conteneur = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 150));
|
||||||
|
conteneur.add(panneau);
|
||||||
|
|
||||||
|
fenetre.setContentPane(conteneur);
|
||||||
|
fenetre.revalidate();
|
||||||
|
fenetre.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user