Code erweitert

currentStatus
Vickvick2002 2025-01-03 18:19:06 +01:00
parent 0b615ba4cc
commit 44c80e9779
1 changed files with 20 additions and 0 deletions

View File

@ -2,11 +2,13 @@ package PR2.HitoriSpiel.GUI;
import PR2.HitoriSpiel.Domain.HitoriBoard; import PR2.HitoriSpiel.Domain.HitoriBoard;
import PR2.HitoriSpiel.Domain.HitoriCell; import PR2.HitoriSpiel.Domain.HitoriCell;
import PR2.HitoriSpiel.Domain.HitoriValidator;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
public class GameBoard extends JPanel { public class GameBoard extends JPanel {
private final HitoriBoard board; // Verbindung zur Logik private final HitoriBoard board; // Verbindung zur Logik
@ -38,6 +40,12 @@ public class GameBoard extends JPanel {
} }
private void toggleCellState(HitoriCell cell) { 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) { if (cell.getState() == HitoriCell.CellState.GRAY) {
cell.setState(HitoriCell.CellState.BLACK); cell.setState(HitoriCell.CellState.BLACK);
} else if (cell.getState() == HitoriCell.CellState.BLACK) { } else if (cell.getState() == HitoriCell.CellState.BLACK) {
@ -62,4 +70,16 @@ public class GameBoard extends JPanel {
break; 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());
}
} }