diff --git a/Hitori/src/main/java/PR2/HitoriSpiel/GUI/GameBoard.java b/Hitori/src/main/java/PR2/HitoriSpiel/GUI/GameBoard.java index e91fdf0..b4ed3fa 100644 --- a/Hitori/src/main/java/PR2/HitoriSpiel/GUI/GameBoard.java +++ b/Hitori/src/main/java/PR2/HitoriSpiel/GUI/GameBoard.java @@ -2,11 +2,13 @@ package PR2.HitoriSpiel.GUI; import PR2.HitoriSpiel.Domain.HitoriBoard; import PR2.HitoriSpiel.Domain.HitoriCell; +import PR2.HitoriSpiel.Domain.HitoriValidator; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; + public class GameBoard extends JPanel { private final HitoriBoard board; // Verbindung zur Logik @@ -38,6 +40,12 @@ public class GameBoard extends JPanel { } private void toggleCellState(HitoriCell cell) { + + if (cell == null) { + System.err.println("Ungültige Zelle! Der Zustand kann nicht geändert werden."); + return; + } + if (cell.getState() == HitoriCell.CellState.GRAY) { cell.setState(HitoriCell.CellState.BLACK); } else if (cell.getState() == HitoriCell.CellState.BLACK) { @@ -62,4 +70,16 @@ public class GameBoard extends JPanel { break; } } + + public void resetBoard() { + board.resetBoard(); // Aufruf der Methode aus HitoriBoard + revalidate(); + repaint(); + } + + public boolean validateCurrentBoard() { + HitoriValidator validator = new HitoriValidator(board); + return validator.validateBoard(board.getSolutionCoordinates()); + } + } \ No newline at end of file