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; + } + }