Ajout d'un début de jeu

This commit is contained in:
2024-11-16 13:49:24 +01:00
parent 22cf8adf3f
commit 7efc59c862
8 changed files with 559 additions and 21 deletions

View File

@@ -1,16 +1,23 @@
package fr.monkhanny.dorfromantik.controller;
import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel;
import fr.monkhanny.dorfromantik.game.Board;
import fr.monkhanny.dorfromantik.gui.MainMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
public class GameModeController implements ActionListener {
private GameModeSelectionPanel gameModeSelectionPanel;
private JFrame gameFrame;
private MainMenu mainMenu;
// Constructeur sans le panneau
public GameModeController() {
// Initialisation sans le panneau
public GameModeController(JFrame gameFrame, MainMenu mainMenu) {
this.gameFrame = gameFrame;
this.mainMenu = mainMenu;
}
// Méthode pour associer le panneau
@@ -24,34 +31,29 @@ public class GameModeController implements ActionListener {
switch (command) {
case "Mode 1":
startGame("Mode 1", null);
startGame("Mode 1", 123456789L);
break;
case "Mode 2":
startGame("Mode 2", null);
startGame("Mode 2", 987654321L);
break;
case "Mode 3":
startGame("Mode 3", null);
startGame("Mode 3", 678912345L);
break;
case "Mode 4":
startGame("Mode 4", null);
startGame("Mode 4", 103072005L);
break;
case "Démarrer":
String seed = gameModeSelectionPanel.getSeed();
if (!seed.isEmpty()) {
startGame("Custom Mode", seed);
}
long seed = gameModeSelectionPanel.getLongSeed();
startGame("Custom Mode", seed);
break;
default:
System.out.println("Commande inconnue: " + command);
}
}
private void startGame(String mode, String seed) {
System.out.println("Démarrer le jeu en mode: " + mode);
if (seed != null) {
System.out.println("Seed personnalisée: " + seed);
}
// Implémenter la logique pour démarrer le jeu avec le mode sélectionné et la seed si applicable
private void startGame(String mode, long seed) {
Board board = new Board(this.gameFrame,seed);
this.gameFrame.setVisible(true);
this.gameFrame.add(board);
}
}

View File

@@ -19,8 +19,9 @@ public class MainMenuButtonController implements ActionListener {
private JFrame settingsFrame;
private JFrame howToPlayFrame;
private JFrame gameModeFrame;
private JFrame gameFrame;
public MainMenuButtonController(MainMenu mainMenu, JFrame settingsFrame, JFrame howToPlayFrame, JFrame gameModeFrame) {
public MainMenuButtonController(MainMenu mainMenu, JFrame settingsFrame, JFrame howToPlayFrame, JFrame gameModeFrame, JFrame gameFrame) {
this.mainMenu = mainMenu;
// Ajouter les écouteurs d'événements sur les boutons
ButtonPanel buttonPanel = mainMenu.getButtonPanel();
@@ -50,6 +51,12 @@ public class MainMenuButtonController implements ActionListener {
this.gameModeFrame.setVisible(false);
this.gameModeFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// Paramètrage de la fenêtre du jeu
this.gameFrame = gameFrame;
this.gameFrame.setLocationRelativeTo(null);
this.gameFrame.setVisible(false);
this.gameFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
@Override
@@ -87,6 +94,9 @@ public class MainMenuButtonController implements ActionListener {
this.gameModeFrame.setSize(mainMenuSize);
this.gameModeFrame.setLocation(mainMenuLocation);
this.gameFrame.setSize(mainMenuSize);
this.gameFrame.setLocation(mainMenuLocation);
// Cacher la fenêtre du menu principal
this.mainMenu.setVisible(false);