This commit is contained in:
parent
7ba645ba91
commit
d7e3febf2e
|
|
@ -88,34 +88,26 @@ public class Board {
|
|||
computeHighlightedPositions(clickedPiece);
|
||||
}
|
||||
} else {
|
||||
if (selectedX == x && selectedY == y) {
|
||||
selectedX = null;
|
||||
selectedY = null;
|
||||
highlightedPositions.clear();
|
||||
} else {
|
||||
Piece selectedPiece = getPieceAt(selectedX, selectedY);
|
||||
if (selectedPiece != null && selectedPiece.isWhite() == turnIsWhite) {
|
||||
if (isHighlighted(x, y)) {
|
||||
Piece captured = getPieceAt(x, y);
|
||||
pieces.removeIf(p -> p.getX() == x && p.getY() == y);
|
||||
pieces.removeIf(p -> p.getX() == selectedX && p.getY() == selectedY);
|
||||
Piece moved = new Piece(
|
||||
selectedPiece.isWhite(),
|
||||
selectedPiece.getType(),
|
||||
x,
|
||||
y
|
||||
);
|
||||
pieces.add(moved);
|
||||
Move move = new Move(selectedPiece, selectedX, selectedY, x, y, captured);
|
||||
moveHistory.push(move);
|
||||
turnNumber++;
|
||||
turnIsWhite = !turnIsWhite;
|
||||
}
|
||||
}
|
||||
selectedX = null;
|
||||
selectedY = null;
|
||||
highlightedPositions.clear();
|
||||
Piece selectedPiece = getPieceAt(selectedX, selectedY);
|
||||
if (selectedPiece != null && selectedPiece.isWhite() == turnIsWhite) {
|
||||
Piece captured = getPieceAt(x, y);
|
||||
pieces.removeIf(p -> p.getX() == x && p.getY() == y);
|
||||
pieces.removeIf(p -> p.getX() == selectedX && p.getY() == selectedY);
|
||||
Piece moved = new Piece(
|
||||
selectedPiece.isWhite(),
|
||||
selectedPiece.getType(),
|
||||
x,
|
||||
y
|
||||
);
|
||||
pieces.add(moved);
|
||||
Move move = new Move(selectedPiece, selectedX, selectedY, x, y, captured);
|
||||
moveHistory.push(move);
|
||||
turnNumber++;
|
||||
turnIsWhite = !turnIsWhite;
|
||||
}
|
||||
selectedX = null;
|
||||
selectedY = null;
|
||||
highlightedPositions.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -155,6 +147,7 @@ public class Board {
|
|||
highlightedPositions.clear();
|
||||
highlightedPositions.addAll(getLegalMovesFor(piece));
|
||||
}
|
||||
|
||||
private ArrayList<int[]> getLegalMovesFor(Piece piece) {
|
||||
ArrayList<int[]> moves = new ArrayList<>();
|
||||
int x = piece.getX();
|
||||
|
|
@ -343,4 +336,3 @@ public class Board {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue