Amélioration du code

This commit is contained in:
2024-12-04 18:06:34 +01:00
parent bf787f8e1b
commit b8b525bd16
10 changed files with 4 additions and 41 deletions

View File

@@ -26,12 +26,12 @@ public class Main {
private static JFrame gameFrame; private static JFrame gameFrame;
private static JFrame settingsFrame; private static JFrame settingsFrame;
private static JFrame howToPlayFrame; private static JFrame howToPlayFrame;
private static JFrame rewardsFrame;
// Variable statique pour savoir si la musique a été jouée // Variable statique pour savoir si la musique a été jouée
private static boolean isMusicPlayed = false; private static boolean isMusicPlayed = false;
// Fonction pour réinitialiser tout le jeu // Fonction pour réinitialiser tout le jeu
@SuppressWarnings("unused")
public static void resetGame() { public static void resetGame() {
// 1. Fermer toutes les fenêtres ouvertes // 1. Fermer toutes les fenêtres ouvertes
if (gameModeFrame != null) { if (gameModeFrame != null) {

View File

@@ -7,12 +7,10 @@ import javax.swing.*;
public class BarChartPanel extends JPanel { public class BarChartPanel extends JPanel {
private List<Integer> groupAverages; private List<Integer> groupAverages;
private int highlightedGroup; private int highlightedGroup;
private JPanel mainPanel; // Store reference to mainPanel
public BarChartPanel(List<Integer> groupAverages, int highlightedGroup, JPanel mainPanel) { public BarChartPanel(List<Integer> groupAverages, int highlightedGroup, JPanel mainPanel) {
this.groupAverages = groupAverages; this.groupAverages = groupAverages;
this.highlightedGroup = highlightedGroup; this.highlightedGroup = highlightedGroup;
this.mainPanel = mainPanel;
// Rendre le fond transparent et ajouter une bordure noire // Rendre le fond transparent et ajouter une bordure noire
setBackground(new Color(0, 0, 0, 0)); // Fond transparent setBackground(new Color(0, 0, 0, 0)); // Fond transparent

View File

@@ -9,7 +9,6 @@ import fr.monkhanny.dorfromantik.Options;
import fr.monkhanny.dorfromantik.enums.Biome; import fr.monkhanny.dorfromantik.enums.Biome;
import fr.monkhanny.dorfromantik.enums.Fonts; import fr.monkhanny.dorfromantik.enums.Fonts;
import fr.monkhanny.dorfromantik.enums.TileOrientation; import fr.monkhanny.dorfromantik.enums.TileOrientation;
import fr.monkhanny.dorfromantik.controller.GameModeController;
import fr.monkhanny.dorfromantik.utils.Database; import fr.monkhanny.dorfromantik.utils.Database;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -13,16 +13,10 @@ import java.util.ArrayList;
public class GameOver extends JPanel { public class GameOver extends JPanel {
private JFrame gameFrame; private JFrame gameFrame;
private int finalScore;
private Database database;
private MainMenu mainMenu;
public GameOver(JFrame gameFrame, int finalScore, Database database, MainMenu mainMenu) { public GameOver(JFrame gameFrame, int finalScore, Database database, MainMenu mainMenu) {
this.gameFrame = gameFrame; this.gameFrame = gameFrame;
this.gameFrame.setTitle("Partie terminée - Dorfromantik"); this.gameFrame.setTitle("Partie terminée - Dorfromantik");
this.mainMenu = mainMenu;
this.finalScore = finalScore;
this.database = database;
setLayout(new BorderLayout()); setLayout(new BorderLayout());

View File

@@ -8,8 +8,6 @@ import javax.swing.JFrame;
public class MainMenuButtonListener implements ActionListener { public class MainMenuButtonListener implements ActionListener {
private JFrame gameFrame; private JFrame gameFrame;
private Game game;
private EscapeMenu escapeMenu;
public MainMenuButtonListener(JFrame gameFrame) { public MainMenuButtonListener(JFrame gameFrame) {
this.gameFrame = gameFrame; this.gameFrame = gameFrame;

View File

@@ -7,21 +7,17 @@ import java.awt.event.KeyEvent;
import javax.swing.JFrame; import javax.swing.JFrame;
public class PauseGame extends KeyAdapter { public class PauseGame extends KeyAdapter {
private JFrame gameFrame;
private Game game;
private EscapeMenu escapeMenu; private EscapeMenu escapeMenu;
private ResumeButtonListener resumeButtonListener; private ResumeButtonListener resumeButtonListener;
private QuitButtonListener quitButtonListener; private QuitButtonListener quitButtonListener;
private SettingsButtonListener settingsButtonListener; private SettingsButtonListener settingsButtonListener;
public PauseGame(JFrame gameFrame, Game game) { public PauseGame(JFrame gameFrame, Game game) {
this.gameFrame = gameFrame;
this.game = game;
// Initialiser escapeMenu ici avant de le passer à SettingsButtonListener // Initialiser escapeMenu ici avant de le passer à SettingsButtonListener
this.escapeMenu = new EscapeMenu(gameFrame, game); // Initialisation ici this.escapeMenu = new EscapeMenu(gameFrame, game); // Initialisation ici
this.escapeMenu.setVisible(false); this.escapeMenu.setVisible(false);
this.escapeMenu.setAlwaysOnTop(true); this.escapeMenu.setAlwaysOnTop(true);
this.resumeButtonListener = new ResumeButtonListener(gameFrame,this.escapeMenu); this.resumeButtonListener = new ResumeButtonListener(this.escapeMenu);
this.quitButtonListener = new QuitButtonListener();; // Initialisé après la création de escapeMenu this.quitButtonListener = new QuitButtonListener();; // Initialisé après la création de escapeMenu
this.settingsButtonListener = new SettingsButtonListener(gameFrame, this.escapeMenu); // Passer escapeMenu correctement this.settingsButtonListener = new SettingsButtonListener(gameFrame, this.escapeMenu); // Passer escapeMenu correctement
} }

View File

@@ -11,12 +11,10 @@ import java.awt.RadialGradientPaint;
public class RemainingTilesIndicator { public class RemainingTilesIndicator {
private int remainingTiles; private int remainingTiles;
private int maxTiles; private int maxTiles;
private final int maxHeight;
public RemainingTilesIndicator(int maxTiles) { public RemainingTilesIndicator(int maxTiles) {
this.maxTiles = maxTiles; this.maxTiles = maxTiles;
this.remainingTiles = maxTiles; this.remainingTiles = maxTiles;
this.maxHeight = 0;
} }
public void setRemainingTiles(int remainingTiles) { public void setRemainingTiles(int remainingTiles) {
@@ -32,9 +30,6 @@ public class RemainingTilesIndicator {
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setStroke(new BasicStroke(2)); // Appliquer un contour légèrement plus épais g2d.setStroke(new BasicStroke(2)); // Appliquer un contour légèrement plus épais
// Calcul de la hauteur totale de la pile
int totalHeight = maxTiles * (tileHeight + gap);
// Dessiner chaque hexagone, à partir du bas de la fenêtre // Dessiner chaque hexagone, à partir du bas de la fenêtre
for (int i = 0; i < remainingTiles; i++) { for (int i = 0; i < remainingTiles; i++) {
int currentY = y + (maxTiles - remainingTiles + i) * (tileHeight + gap); // Positionnement fixe int currentY = y + (maxTiles - remainingTiles + i) * (tileHeight + gap); // Positionnement fixe

View File

@@ -2,16 +2,13 @@ package fr.monkhanny.dorfromantik.game;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.JFrame;
import fr.monkhanny.dorfromantik.Options; import fr.monkhanny.dorfromantik.Options;
public class ResumeButtonListener implements ActionListener { public class ResumeButtonListener implements ActionListener {
private JFrame gameFrame;
private EscapeMenu escapeMenu; private EscapeMenu escapeMenu;
public ResumeButtonListener(JFrame gameFrame, EscapeMenu escapeMenu) { public ResumeButtonListener(EscapeMenu escapeMenu) {
this.gameFrame = gameFrame;
this.escapeMenu = escapeMenu; this.escapeMenu = escapeMenu;
} }

View File

@@ -6,8 +6,6 @@ import fr.monkhanny.dorfromantik.gui.SettingsPanel;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.JFrame; import javax.swing.JFrame;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class SettingsButtonListener implements ActionListener { public class SettingsButtonListener implements ActionListener {
private JFrame gameFrame; private JFrame gameFrame;

View File

@@ -5,17 +5,11 @@ import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Date;
import javax.swing.ImageIcon;
import fr.monkhanny.dorfromantik.gui.Reward;
public class Database { public class Database {
// Chargement des variables d'environnement // Chargement des variables d'environnement
@@ -91,9 +85,6 @@ public class Database {
int score = rs.getInt("score"); int score = rs.getInt("score");
String seriesName = rs.getString("name"); // Nom de la série String seriesName = rs.getString("name"); // Nom de la série
// Créer un texte à afficher incluant le score et le nom de la série
String displayText = "Score: " + score + " | Série: " + seriesName;
// Ajouter l'objet PlayerScore à la liste avec un nom générique et le score // Ajouter l'objet PlayerScore à la liste avec un nom générique et le score
allScores.add(new PlayerScore(seriesName, score)); // Ajout du nom de la série allScores.add(new PlayerScore(seriesName, score)); // Ajout du nom de la série
} }
@@ -190,10 +181,7 @@ public class Database {
while (rs.next()) { while (rs.next()) {
int score = rs.getInt("score"); int score = rs.getInt("score");
String seriesName = rs.getString("name"); // Nom de la série String seriesName = rs.getString("name"); // Nom de la série
// Créer un texte à afficher incluant le score et le nom de la série
String displayText = "Score: " + score + " | Série: " + seriesName;
// Ajouter l'objet PlayerScore à la liste // Ajouter l'objet PlayerScore à la liste
topPlayers.add(new PlayerScore(seriesName, score)); // Assurez-vous que PlayerScore accepte un nom de série topPlayers.add(new PlayerScore(seriesName, score)); // Assurez-vous que PlayerScore accepte un nom de série
} }