Implement Board copy and getAllLegalMoves

This commit is contained in:
Tilman Crosetti 2025-05-13 17:13:42 +02:00
parent 1bef5fd4df
commit 4f2c3c8618
1 changed files with 14 additions and 12 deletions

View File

@ -394,20 +394,19 @@ public class Board implements Cloneable {
public ArrayList<Move> getAllLegalMoves(boolean isWhite) {
ArrayList<Move> moves = new ArrayList<>();
ArrayList<Move> moves = new ArrayList<>();
for (int row = 0; row < 8; row++) {
for (int col = 0; col < 8; col++) {
Piece piece = getPieceAt(row, col);
if (piece != null && piece.isWhite() == isWhite) {
//LinkedList<Move> pieceMoves = piece.getLegalMoves(this, row, col); // This method must exist in Piece
//moves.addAll(pieceMoves);
}
}
}
for (Piece piece : pieces) {
if (piece.isWhite() == isWhite) {
moves.addAll(piece.getLegalMoves(this, piece.getX(), piece.getY()));
}
}
return moves;
return moves;
}
public ArrayList<Piece> getAllPieces() {
ArrayList<Piece> pieces = new ArrayList<>();
@ -480,4 +479,7 @@ public class Board implements Cloneable {
moveClip.setFramePosition(0);
moveClip.start();
}
}
}