🔧 nettoyage et fix du projet
This commit is contained in:
parent
91a0b1e536
commit
91906e2afb
@ -10,3 +10,5 @@ Charpentier Juliette
|
|||||||
[°v°]
|
[°v°]
|
||||||
/[ ]\
|
/[ ]\
|
||||||
| |
|
| |
|
||||||
|
|
||||||
|
javac -d output ./src/com/charpentierbalocchi/dorfjavatik
|
||||||
|
61
makefile
61
makefile
@ -1,47 +1,36 @@
|
|||||||
# Variables
|
# Variables
|
||||||
JAVAC = javac
|
|
||||||
JAR = jar
|
|
||||||
SRC_DIR = src
|
SRC_DIR = src
|
||||||
BIN_DIR = bin
|
BIN_DIR = bin
|
||||||
MANIFEST = MANIFEST.MF
|
JAVAC = javac
|
||||||
MAIN_CLASS = com.charpentierbalocchi.dorfjavatik.view.FenetreDemarrage
|
JAVA = java
|
||||||
JAR_FILE = DorfJavaTik.jar
|
JAVADOC = javadoc
|
||||||
RESOURCES_DIR = src/com/charpentierbalocchi/dorfjavatik/resources
|
MAIN = com.charpentierbalocchi.dorfjavatik.view.FenetreDemarrage
|
||||||
RESOURCES_BIN_DIR = bin/com/charpentierbalocchi/dorfjavatik/resources
|
|
||||||
|
|
||||||
# Règles
|
# Compilation flags
|
||||||
.PHONY: all clean jar run
|
JFLAGS = -d $(BIN_DIR) -sourcepath $(SRC_DIR)
|
||||||
|
|
||||||
all: classes
|
# Default rule
|
||||||
|
all: compile
|
||||||
|
|
||||||
# Compilation des fichiers .class
|
# Rule to compile the java files
|
||||||
classes:
|
compile:
|
||||||
@echo "Compilation des fichiers .java en .class..."
|
@echo "Compiling Java source files..."
|
||||||
@mkdir -p $(BIN_DIR)
|
@mkdir -p $(BIN_DIR)
|
||||||
$(JAVAC) -d $(BIN_DIR) -encoding UTF-8 $(shell find $(SRC_DIR) -name "*.java")
|
@$(JAVAC) $(JFLAGS) $(SRC_DIR)/com/charpentierbalocchi/dorfjavatik/**/*.java
|
||||||
@echo "Compilation terminée."
|
|
||||||
|
|
||||||
# Création du fichier JAR
|
# Rule to run the application
|
||||||
jar: classes
|
run: compile
|
||||||
@echo "Copie des ressources..."
|
@echo "Running the application..."
|
||||||
@mkdir -p $(RESOURCES_BIN_DIR)
|
@$(JAVA) -cp $(BIN_DIR) $(MAIN)
|
||||||
@cp -r $(RESOURCES_DIR)/* $(RESOURCES_BIN_DIR)
|
|
||||||
@echo "Création du fichier JAR..."
|
|
||||||
$(JAR) cfm $(JAR_FILE) $(MANIFEST) -C $(BIN_DIR) .
|
|
||||||
@echo "Fichier JAR créé : $(JAR_FILE)"
|
|
||||||
|
|
||||||
# Nettoyage des fichiers compilés et du JAR
|
# Rule to generate Javadoc
|
||||||
|
javadoc:
|
||||||
|
@echo "Generating Javadoc..."
|
||||||
|
@$(JAVADOC) -d $(BIN_DIR)/docs -sourcepath $(SRC_DIR) -subpackages com.charpentierbalocchi.dorfjavatik
|
||||||
|
|
||||||
|
# Rule to clean the project
|
||||||
clean:
|
clean:
|
||||||
@echo "Nettoyage des fichiers compilés..."
|
@echo "Cleaning up..."
|
||||||
@rm -rf $(BIN_DIR)/*
|
@rm -rf $(BIN_DIR)
|
||||||
@rm -f $(JAR_FILE)
|
|
||||||
@echo "Nettoyage terminé."
|
|
||||||
|
|
||||||
# Exécution du fichier JAR
|
.PHONY: all compile run javadoc clean
|
||||||
run: jar
|
|
||||||
@echo "Exécution du fichier JAR..."
|
|
||||||
@java -jar $(JAR_FILE)
|
|
||||||
|
|
||||||
# Crée le fichier MANIFEST.MF avec la classe principale
|
|
||||||
manifest:
|
|
||||||
@echo "Main-Class: $(MAIN_CLASS)" > $(MANIFEST)
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
package com.charpentierbalocchi.dorfjavatik.main;
|
|
||||||
|
|
||||||
import com.charpentierbalocchi.dorfjavatik.view.FenetreDemarrage;
|
|
||||||
|
|
||||||
public class DorfJavaTik {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
javax.swing.SwingUtilities.invokeLater(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
new FenetreDemarrage();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@ -22,24 +22,20 @@ public class FenetreDemarrage extends JFrame {
|
|||||||
JPanel panelPrincipal = new JPanel(new BorderLayout());
|
JPanel panelPrincipal = new JPanel(new BorderLayout());
|
||||||
JLabel label = new JLabel("Entrez la taille de la grille (1-15):");
|
JLabel label = new JLabel("Entrez la taille de la grille (1-15):");
|
||||||
JTextField textField = new JTextField();
|
JTextField textField = new JTextField();
|
||||||
textField.setText("5"); // Définir la valeur par défaut à 5
|
textField.setText("5");
|
||||||
JButton button = new JButton("Démarrer la partie");
|
JButton button = new JButton("Démarrer la partie");
|
||||||
|
|
||||||
// Ajout des composants au panneau principal
|
// Ajout des composants au panneau principal
|
||||||
panelPrincipal.add(label, BorderLayout.NORTH);
|
panelPrincipal.add(label, BorderLayout.NORTH);
|
||||||
panelPrincipal.add(textField, BorderLayout.CENTER);
|
panelPrincipal.add(textField, BorderLayout.CENTER);
|
||||||
panelPrincipal.add(button, BorderLayout.SOUTH);
|
panelPrincipal.add(button, BorderLayout.SOUTH);
|
||||||
|
|
||||||
// Ajout du panneau principal à la fenêtre
|
|
||||||
add(panelPrincipal);
|
add(panelPrincipal);
|
||||||
|
|
||||||
// Action listener pour le bouton
|
|
||||||
button.addActionListener(new ActionListener() {
|
button.addActionListener(new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
try {
|
try {
|
||||||
int taille = Integer.parseInt(textField.getText());
|
int taille = Integer.parseInt(textField.getText());
|
||||||
if (taille == 1) {
|
if (taille == 1) {
|
||||||
String gifPath = "/com/charpentierbalocchi/dorfjavatik/resources/image.gif";
|
String gifPath = "src/com/charpentierbalocchi/dorfjavatik/resources/image.gif";
|
||||||
|
|
||||||
ImageIcon gifIcon = new ImageIcon(gifPath);
|
ImageIcon gifIcon = new ImageIcon(gifPath);
|
||||||
|
|
||||||
|
@ -12,42 +12,37 @@ import java.awt.event.ComponentAdapter;
|
|||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
|
|
||||||
public class FenetreJeu extends JFrame {
|
public class FenetreJeu extends JFrame {
|
||||||
private int taillePlateau; // Taille du plateau
|
private int taillePlateau;
|
||||||
private TileButton[][] boutons; // Boutons représentant les cases du plateau
|
private TileButton[][] boutons;
|
||||||
private JLabel labelScore; // Label pour afficher le score
|
private JLabel labelScore;
|
||||||
private JLabel labelBiome1; // Label pour afficher le biome 1
|
private JLabel labelBiome1;
|
||||||
private JLabel labelBiome2; // Label pour afficher le biome 2
|
private JLabel labelBiome2;
|
||||||
private JLabel labelBiome3; // Label pour afficher le biome 3
|
private JLabel labelBiome3;
|
||||||
private JLabel labelBiome4; // Label pour afficher le biome 4
|
private JLabel labelBiome4;
|
||||||
private JLabel labelBiome5; // Label pour afficher le biome 5
|
private JLabel labelBiome5;
|
||||||
private Tuile tuileCourante; // La tuile actuellement proposée
|
private Tuile tuileCourante;
|
||||||
private ControleurJeu controleurJeu; // Instance du contrôleur de jeu
|
private ControleurJeu controleurJeu;
|
||||||
private JPanel panelPlateau; // Panneau pour le plateau de jeu
|
private JPanel panelPlateau;
|
||||||
private JPanel panelTuileCourante; // Panneau pour la tuile courante
|
private JPanel panelTuileCourante;
|
||||||
private MusicPlayer musicPlayer; // Instance du lecteur de musique
|
private MusicPlayer musicPlayer;
|
||||||
|
|
||||||
public FenetreJeu(int taillePlateau) {
|
public FenetreJeu(int taillePlateau) {
|
||||||
super("DorfJavaTik, par Juliette et Loris"); // Titre de la fenêtre
|
super("DorfJavaTik, par Juliette et Loris");
|
||||||
this.taillePlateau = taillePlateau;
|
this.taillePlateau = taillePlateau;
|
||||||
initUI();
|
initUI();
|
||||||
this.controleurJeu = new ControleurJeu(this, taillePlateau); // Initialiser le contrôleur après la configuration
|
this.controleurJeu = new ControleurJeu(this, taillePlateau);
|
||||||
// de l'interface
|
controleurJeu.demarrerJeu();
|
||||||
controleurJeu.demarrerJeu(); // Démarrer le jeu après l'initialisation
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Ferme l'application à la fermeture de la fenêtre
|
setSize(1300, 1000);
|
||||||
setSize(1300, 1000); // Fixe la taille de la fenêtre à 1300 x 1000
|
setResizable(false);
|
||||||
setResizable(false); // Empêche le redimensionnement de la fenêtre
|
setLocationRelativeTo(null);
|
||||||
setLocationRelativeTo(null); // Centre la fenêtre sur l'écran
|
setVisible(true);
|
||||||
setVisible(true); // Rendre la fenêtre visible
|
|
||||||
// Démarrer la musique de fond
|
|
||||||
musicPlayer = new MusicPlayer("/com/charpentierbalocchi/dorfjavatik/resources/background.wav");
|
musicPlayer = new MusicPlayer("/com/charpentierbalocchi/dorfjavatik/resources/background.wav");
|
||||||
musicPlayer.play();
|
musicPlayer.play();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initUI() {
|
private void initUI() {
|
||||||
// Panel principal avec BorderLayout
|
|
||||||
JPanel panelPrincipal = new JPanel(new BorderLayout());
|
JPanel panelPrincipal = new JPanel(new BorderLayout());
|
||||||
|
|
||||||
// Panel pour le plateau de jeu sur la droite
|
|
||||||
panelPlateau = new JPanel(new GridLayout(taillePlateau, taillePlateau));
|
panelPlateau = new JPanel(new GridLayout(taillePlateau, taillePlateau));
|
||||||
boutons = new TileButton[taillePlateau][taillePlateau];
|
boutons = new TileButton[taillePlateau][taillePlateau];
|
||||||
for (int i = 0; i < taillePlateau; i++) {
|
for (int i = 0; i < taillePlateau; i++) {
|
||||||
@ -64,9 +59,6 @@ public class FenetreJeu extends JFrame {
|
|||||||
panelPlateau.add(bouton);
|
panelPlateau.add(bouton);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Panel pour afficher la tuile courante et le score sur la gauche, centré
|
|
||||||
// verticalement
|
|
||||||
JPanel panelGauche = new JPanel();
|
JPanel panelGauche = new JPanel();
|
||||||
panelGauche.setLayout(new BoxLayout(panelGauche, BoxLayout.Y_AXIS));
|
panelGauche.setLayout(new BoxLayout(panelGauche, BoxLayout.Y_AXIS));
|
||||||
panelGauche.setBorder(BorderFactory.createEmptyBorder(20, 60, 20, 60));
|
panelGauche.setBorder(BorderFactory.createEmptyBorder(20, 60, 20, 60));
|
||||||
@ -126,25 +118,20 @@ public class FenetreJeu extends JFrame {
|
|||||||
|
|
||||||
panelGauche.add(Box.createVerticalGlue());
|
panelGauche.add(Box.createVerticalGlue());
|
||||||
panelGauche.add(labelScore);
|
panelGauche.add(labelScore);
|
||||||
panelGauche.add(Box.createVerticalStrut(20)); // Espace entre les composants
|
panelGauche.add(Box.createVerticalStrut(20));
|
||||||
panelGauche.add(panelTuileCourante);
|
panelGauche.add(panelTuileCourante);
|
||||||
panelGauche.add(Box.createVerticalStrut(20));
|
panelGauche.add(Box.createVerticalStrut(20));
|
||||||
panelGauche.add(boutonRecommencer);
|
panelGauche.add(boutonRecommencer);
|
||||||
panelGauche.add(boutonQuitter);
|
panelGauche.add(boutonQuitter);
|
||||||
panelGauche.add(Box.createVerticalGlue());
|
panelGauche.add(Box.createVerticalGlue());
|
||||||
|
|
||||||
panelGauche.add(labelBiome1);
|
panelGauche.add(labelBiome1);
|
||||||
panelGauche.add(labelBiome2);
|
panelGauche.add(labelBiome2);
|
||||||
panelGauche.add(labelBiome3);
|
panelGauche.add(labelBiome3);
|
||||||
panelGauche.add(labelBiome4);
|
panelGauche.add(labelBiome4);
|
||||||
panelGauche.add(labelBiome5);
|
panelGauche.add(labelBiome5);
|
||||||
|
|
||||||
panelPrincipal.add(panelGauche, BorderLayout.WEST);
|
panelPrincipal.add(panelGauche, BorderLayout.WEST);
|
||||||
panelPrincipal.add(panelPlateau, BorderLayout.CENTER);
|
panelPrincipal.add(panelPlateau, BorderLayout.CENTER);
|
||||||
|
|
||||||
add(panelPrincipal);
|
add(panelPrincipal);
|
||||||
|
|
||||||
// Ajouter un écouteur pour garantir que le panneau du plateau reste un carré
|
|
||||||
addComponentListener(new ComponentAdapter() {
|
addComponentListener(new ComponentAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void componentResized(ComponentEvent e) {
|
public void componentResized(ComponentEvent e) {
|
||||||
@ -156,7 +143,6 @@ public class FenetreJeu extends JFrame {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour dessiner les biomes sur un bouton
|
|
||||||
private void dessinerTuile(Graphics g, Tuile tuile, int width, int height) {
|
private void dessinerTuile(Graphics g, Tuile tuile, int width, int height) {
|
||||||
Graphics2D g2d = (Graphics2D) g.create();
|
Graphics2D g2d = (Graphics2D) g.create();
|
||||||
int halfWidth = width / 2;
|
int halfWidth = width / 2;
|
||||||
@ -189,7 +175,6 @@ public class FenetreJeu extends JFrame {
|
|||||||
g2d.dispose();
|
g2d.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Méthode pour mettre à jour le plateau après placement d'une tuile
|
|
||||||
public void updateBoard(int x, int y, Tuile tuile) {
|
public void updateBoard(int x, int y, Tuile tuile) {
|
||||||
TileButton bouton = boutons[x][y];
|
TileButton bouton = boutons[x][y];
|
||||||
bouton.setTuile(tuile); // Mettre à jour la tuile sur le bouton
|
bouton.setTuile(tuile); // Mettre à jour la tuile sur le bouton
|
||||||
|
Loading…
Reference in New Issue
Block a user