From fe8c1a65d9b23d79183309438fb8fcf7d9eab597 Mon Sep 17 00:00:00 2001 From: Justin Date: Wed, 18 Jun 2025 18:55:35 +0200 Subject: [PATCH] Add getLegalDestinations() method to ChessEngine --- .../informatik/chess/model/ChessEngine.java | 14 ++++++++++++++ 1 file changed, 14 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 e787412..a0cd841 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 @@ -1,5 +1,8 @@ package de.hs_mannheim.informatik.chess.model; +import java.util.ArrayList; +import java.util.List; + import com.github.bhlangonijr.chesslib.Board; import com.github.bhlangonijr.chesslib.Square; import com.github.bhlangonijr.chesslib.move.Move; @@ -21,5 +24,16 @@ public class ChessEngine { } } + public List getLegalDestinations(String from) { + List destinations = new ArrayList<>(); + Square fromSq = Square.valueOf(from.toUpperCase()); + for (Move move : board.legalMoves()) { + if (move.getFrom().equals(fromSq)) { + destinations.add(move.getTo().toString()); // z.B. "E4" + } + } + return destinations; + } + }