Files
SAE31_2024/TestV2/src/fr/monkhanny/dorfromantik/Main.java

66 lines
2.6 KiB
Java
Raw Normal View History

package fr.monkhanny.dorfromantik;
import fr.monkhanny.dorfromantik.gui.MainMenu;
import fr.monkhanny.dorfromantik.controller.MainMenuResizeController;
import fr.monkhanny.dorfromantik.controller.MainMenuButtonController;
import fr.monkhanny.dorfromantik.utils.MusicPlayer;
import fr.monkhanny.dorfromantik.enums.Musics;
2024-11-15 14:43:27 +01:00
import fr.monkhanny.dorfromantik.listeners.CloseWindowListener;
import fr.monkhanny.dorfromantik.gui.SettingsPanel;
import fr.monkhanny.dorfromantik.controller.TutorialController;
2024-11-16 00:42:03 +01:00
import fr.monkhanny.dorfromantik.controller.GameModeController;
import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel;
import javax.swing.JFrame;
/**
* Classe principale du jeu
* @version 1.0
* @author Moncef STITI
* @see MainMenu
* @see MainMenuResizeController
*/
public class Main {
/**
* Méthode principale du jeu
* @param args Tableau de String contenant les arguments passé en paramètre au programme
*/
public static void main(String[] args) {
2024-11-15 14:35:01 +01:00
// Créer la fenêtre du jeu
JFrame gameFrame = new JFrame("Jeu - Dorfromantik");
// Créer la fenêtre des paramètres
2024-11-15 14:35:01 +01:00
JFrame settingsFrame = new JFrame("Paramètres - Dorfromantik");
// Créer la fenêtre du tutoriel
2024-11-15 14:35:01 +01:00
JFrame howToPlayFrame = new JFrame("Comment jouer ? - Dorfromantik");
// Menu principal
MusicPlayer.loadMusic(Musics.MAIN_MENU_MUSIC);
MusicPlayer.playMusic();
MainMenu mainMenu = new MainMenu();
MainMenuResizeController MainMenuResizeController = new MainMenuResizeController(mainMenu);
2024-11-15 14:35:01 +01:00
MainMenuButtonController MainMenuButtonController = new MainMenuButtonController(mainMenu,settingsFrame,howToPlayFrame,gameFrame);
// Fenêtre des paramètres
2024-11-15 14:43:27 +01:00
CloseWindowListener settingsWindowListener = new CloseWindowListener(mainMenu, settingsFrame);
SettingsPanel settingsPanel = new SettingsPanel(mainMenu, settingsFrame);
2024-11-15 14:43:27 +01:00
settingsFrame.addWindowListener(settingsWindowListener);
settingsFrame.add(settingsPanel);
// Fenêtre du tutoriel
2024-11-15 14:43:27 +01:00
CloseWindowListener howToPlayWindowListener = new CloseWindowListener(mainMenu, howToPlayFrame);
TutorialController tutorialController = new TutorialController();
2024-11-15 14:43:27 +01:00
howToPlayFrame.addWindowListener(howToPlayWindowListener);
howToPlayFrame.add(tutorialController.getTutorialPanel());
2024-11-15 14:35:01 +01:00
2024-11-16 00:42:03 +01:00
// Fenêtre du choix des modes de jeu
GameModeController gameModeController = new GameModeController();
GameModeSelectionPanel gameModeSelectionPanel = new GameModeSelectionPanel(gameModeController);
gameModeController.setGameModeSelectionPanel(gameModeSelectionPanel);
gameFrame.add(gameModeSelectionPanel);
}
}