From 745bf05fd3d50a2ae6e65c8f97fce1538162beee Mon Sep 17 00:00:00 2001 From: Justin Date: Sun, 22 Jun 2025 01:30:21 +0200 Subject: [PATCH] New method setPositionToMoveIndex for undo move feature in ChessEngine --- .../informatik/chess/model/ChessEngine.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/schach/src/main/java/de/hs_mannheim/informatik/chess/model/ChessEngine.java b/schach/src/main/java/de/hs_mannheim/informatik/chess/model/ChessEngine.java index 90be5aa..efdcdfd 100644 --- a/schach/src/main/java/de/hs_mannheim/informatik/chess/model/ChessEngine.java +++ b/schach/src/main/java/de/hs_mannheim/informatik/chess/model/ChessEngine.java @@ -11,6 +11,8 @@ public class ChessEngine { private Board board; private List moves = new ArrayList<>(); + private int currentMoveIndex = 0; + public ChessEngine() { board = new Board(); } @@ -91,6 +93,15 @@ public class ChessEngine { } } + public void setPositionToMoveIndex(int idx) { + // Neues Board erzeugen + board = new Board(); + for (int i = 0; i < idx; i++) { + board.doMove(moves.get(i)); + } + currentMoveIndex = idx; + } + private PieceDTO convertPieceToDTO(Piece piece) { if (piece == null || piece.equals(Piece.NONE)) return null; String color = piece.name().startsWith("WHITE") ? "WHITE" : "BLACK";