diff --git a/schach/src/main/java/de/hs_mannheim/informatik/chess/controller/MainController.java b/schach/src/main/java/de/hs_mannheim/informatik/chess/controller/MainController.java new file mode 100644 index 0000000..01e0212 --- /dev/null +++ b/schach/src/main/java/de/hs_mannheim/informatik/chess/controller/MainController.java @@ -0,0 +1,34 @@ +package de.hs_mannheim.informatik.chess.controller; + +import de.hs_mannheim.informatik.chess.view.MainGui; +import de.hs_mannheim.informatik.chess.view.GameGui; +import de.hs_mannheim.informatik.chess.model.ChessEngine; + +public class MainController { + private MainGui mainGui; + + public MainController() { + mainGui = new MainGui(); + + mainGui.setNormalModeListener(e -> startNormalMode()); + mainGui.setCreativeModeListener(e -> startCreativeMode()); + mainGui.setLoadGameListener(e -> startLoadGameMode()); + } + + private void startNormalMode() { + mainGui.close(); + GameGui gameGui = new GameGui(); + ChessEngine engine = new ChessEngine(); + new GameController(gameGui, engine); + } + + private void startCreativeMode() { + mainGui.close(); + // Hier z.B. CreativeSetupGui öffnen (siehe oben) + } + + private void startLoadGameMode() { + mainGui.close(); + // Hier LoadGame-Logik + } +} \ No newline at end of file